Python并发讨论

时间:2022-03-09 04:01:20

手段有多线程,多进程,协程。

对于多线程:

由于GIL(全局解释器锁)的存在,多线程实际是单线程的,不能发挥多核的作用:

  • 但对于IO密集型程序,多线程对于效率是有提高的,由于阻塞时,可能会切换到别的线程;但,阻塞时不会马上切换,要等待时间片结束才切换。
  • 而CPU密集型则不适用,线程上下文切换浪费CPU,且需要计算的总时间不变。