Python自己没有进程和线程,所以Python中调用的操作系统的线程和进程。
1、进程和线程的区别?
(1)进程是cpu资源分配的最小单元
线程是cpu计算的最小单元
(2)一个进程中可以有多个线程
一个进程中默认是有一个主线程
2、GIL锁(全局解释器锁)
对于Python来说他的进程和线程和其他语言有差异,是有GIL锁。
GIL锁保证一个进程中同一时刻只有一个线程被cpu调度。
注意:IO密集型操作可以使用多线程;计算密集型可以使用多进程;
为什么有这把GIL锁?
答:Python语言的创始人在开发这门语言时,目的快速把语言开发出来,
如果加上GIL锁(C语言加锁),切换时按照100条字节指令来进行线程间的切换。