Python并发讨论
手段有多线程,多进程,协程。
对于多线程:
由于GIL(全局解释器锁)的存在,多线程实际是单线程的,不能发挥多核的作用:
- 但对于IO密集型程序,多线程对于效率是有提高的,由于阻塞时,可能会切换到别的线程;但,阻塞时不会马上切换,要等待时间片结束才切换。
- 而CPU密集型则不适用,线程上下文切换浪费CPU,且需要计算的总时间不变。
【本文章出自博客园willaty,转载请注明作者出处,误差欢迎指出~】
手段有多线程,多进程,协程。
对于多线程:
由于GIL(全局解释器锁)的存在,多线程实际是单线程的,不能发挥多核的作用: