一、对线程的理解 1.一个程序运行起来至少有一个进程,一个进程至少有一个线程 2.处理器cpu分配给线程,即cpu真正运行的是线程中的代码 3.分配cpu给线程时,是通过时间片轮训方式进行的 4.进程是操作系统分配程序执行资源的单位,而线程是进程的一个实体,是CPU调度和分配的单位。 二、pytho ...
分类:
编程语言 时间:
2018-07-21 20:29:38
阅读次数:
182
add by zhj: 下面的文章解释的很好了,这里再说明一下top命令中wa的含义,我们知道,当IO阻塞时,操作系统会把进程改为阻塞态,将CPU调度到运行其它进程。 CPU在空闲状态下,会检查是否有阻塞的IO(磁盘或网络),如果有,那就认为是wa;如果没有,那才是真正的idle。在top命令中,8 ...
分类:
系统相关 时间:
2018-07-04 22:54:34
阅读次数:
289
线程和进程之间的联系和区别: 线程拥有自己的线程id,一组寄存器值,调度优先级和策略,线程栈,除此以外,线程共享进程的所有资源,如堆、文件描述符、进程的代码段、全局变量区(静态局部变量、全局变量)。进程是系统资源分配的基本单位,线程是CPU调度的基本单位。 在只有一个线程的情况下,进程和线程非常相似 ...
分类:
编程语言 时间:
2018-06-27 20:06:23
阅读次数:
162
进程是一个动态的实体,从创建到消亡,是一个进程的整个生命周期。进程可能会经历各种不同的状态,一般来说有三种状态。+ 就绪态: 进程已经获得了除cpu以外的所有其它资源,在就绪队列中等待cpu调度+ 执行状态: 已经获得cpu以及所有需要的资源正在运行+ 阻塞状态(等待状态): 进程因等待所需要的资源 ...
分类:
系统相关 时间:
2018-06-27 18:56:06
阅读次数:
206
一、复习 1、进程、线程、协程 进程:是计算机中最小的资源分配单位,数据隔离,可以利用多核,数据不安全 线程:是计算机中最小的CPU调度单位,数据共享,GIL,数据不安全 协程:是线程的一部分,是由用户来调度,数据共享,数据安全 2、同步、异步、阻塞、非阻塞 异步:同时做不止一件事 同步:事情一件做 ...
分类:
编程语言 时间:
2018-06-20 18:53:39
阅读次数:
196
引子: 之前我们学习了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把cpu的利用率提高很多了。 但是我们知道无论是创建多进程还是创建多线程来解决问题,都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。 随着我们对于效率 ...
分类:
其他好文 时间:
2018-06-19 22:39:56
阅读次数:
135
一、基本概念 进程是资源分配的基本单位,而线程则是CPU调度和分派的基本单位。系统需要执行创建进程、撤销进程和进程切换等任务,但创建进程开销大限制了并发的提高。因此,成百上千个进程会造成内存浪费,并且频繁切换导致每个进程执行(时间变短)效率降低。因此有了线程的概念。 引入进程的目的是为了使多个程序并 ...
分类:
编程语言 时间:
2018-06-18 13:25:19
阅读次数:
287
前言 线程:程序流执行的最小单元。线程是比进程更轻量级的调度执行单位,线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源(内存地址、文件I/O等),又可以独立调度(线程是CPU调度的基本单位)。 Java语言定义了5中线程状态,在任意一个时间点,一个线程只能有且只有其中的 ...
分类:
编程语言 时间:
2018-06-02 20:42:51
阅读次数:
241
python之路——协程 阅读目录 一 引子 二 协程介绍 三 Greenlet模块 四 Gevent模块 引子 之前我们学习了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是 ...
分类:
编程语言 时间:
2018-05-18 20:08:24
阅读次数:
235
引子 之前我们学习了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题,都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。 随着我们对于效率的追 ...
分类:
其他好文 时间:
2018-05-14 21:32:02
阅读次数:
172