Python全局锁中如何合理运用多线程(多进程)

qqarmor37980 8 0 pdf 2022-03-29 07:03:29

全局锁的英文简称是GIL,全称是Global Interpreter Lock,来源是python设计之初的考虑,为了数据安全所做的决定,每个线程在执行时候都需要先获取GIL,保证同一时刻只有一个线程可以执行代码,即同一时刻只有一个线程使用CPU,也就是说多线程并不是真正意义上的同时执行。在Python多线程下,每个线程的执行方式:1、获取GIL2、执行代码直到sleep或者是python虚拟机将其挂起。拿不到通行证的线程,就不允许进入CPU执行。在Python2.x里,GIL的释放逻辑是当前线程遇见IO操作或者ticks计数达到100,进行释放。

Python全局锁中如何合理运用多线程(多进程)

Python全局锁中如何合理运用多线程(多进程)

Python全局锁中如何合理运用多线程(多进程)

用户评论
请输入评论内容
评分:
暂无评论