Python 线程与进程初识
1.python 有个GIL全局解释器锁,会限制进程,只允许进程里的一个线程与CPU进行交互。
2.一个应用程序可以有一个或多个进程,必须有一个主进程,可以创建多个子进程
3.一个进程里面可以有一个线程或多个线程,必须有一个主线程,可以创建多个子进程
4.Python 与其他语言不同,特有的GIL,让线程看似很鸡肋
IO密集型:多线程 (基本不用CPU)
计算密集型:多进程 (CPU进行计算)
5.计算机中执行任务的最小单元是线程,线程和进程的目的是提高执行效率
6.进程: (不是越多越好,CPU个数=进程个数)
优点:同时利用多个CPU,能够进行多个操作
缺点:耗费资源(内存)
线程:(不是越多越好,具体情况,要考虑线程切换的耗时)
优点:共享内存,IO操作可实现并发
缺点:抢占资源(死锁)
7.关系图

上图理解程序进程与线程的关系,GIL的作用:每次只允许一个进行通信,核数=进程数等

浙公网安备 33010602011771号