进程和线程介绍

1 系统多任务机制

python本身也支持多任务处理机制,并且提供了如下的操作方式
1.多任务处理机制
2.多进程多任务处理机制
3.协程多任务处理机制

2.进程、线程和协程

2.1 进程(Process)

进程:计算机中的一个程序在一个数据集上一次动态执行过程,主要包括三部分内容
1.程序:描述进程的功能以及处理流程
2.数据集:功能处理过程中需要的资源数据
3.进程控制:严格控制进程执行过程中的各种状态
通俗来说:一个进程就是计算机上正在进行的一个程序

2.2 线程(Thread)

计算机中程序运行的实际执行者就是线程,线程又称为轻量级进程,是一个CPU的执行单元,每个进程至少会有一个主线程用于执行程序
线程和进程对比如下
1.一个进程可以有多个进程,但是至少有一个主线程
2.一个线程只能属于一个进程
3.一个进程中多个线程,可以共享进程中提供的数据
4.CPU运算分配给线程,CPU上执行运算的是线程
5.线程是最小大的运行单元,进程是最小的资源管理单元

2.3 串行、并行、并发

1.串行:就是传统意义上的同步、顺序的意思,按照一定的执行步骤顺序执行每个环节
2.并行:就是传统意义上的异步、同时的意思,同时执行接受到的每个任务
3.并发:同时接收到的多个任务,同时执行多个任务,但是具体到某个时刻~只是执行一个任务,只是在很短时间内在多个任务之间切换,模拟形成了多个任务同时执行的现象

python为了保证多任务机制下的共享数据的安全性和完整性,CPthon官方解释器内置了一个GIL(Global Interceptor Lock:全局解释器锁),只允许在同一时间内CPU只能执行一个线程,所以在PYTHON的官方解释器下,所谓多线程是多线程并发机制并不是多线程并行机制!

猜你喜欢

转载自www.cnblogs.com/chenliang0309/p/9781684.html