一、多进程模块(multiprocessing)
1. 多进程才是真并行
- python有一个非常重要的GIL(global interpreter lock,全局解释器锁)。python代码执行由python虚拟机(解释器主循环)来控制。对python虚拟机的访问由GIL控制,GIL保证同一时刻只有一个线程在执行
- python虚拟机执行过程:
- 1、设置GIL
- 2、切换到一个线程去运行
- 3、运行,直至完成指定的字节码指令,或者线程主动让出控制
- 4、将该线程设置为睡眠状态
- 5、解锁GIL
- 6、重复以上所有步骤,运行下一个线程