Discuss / Python / 多线程的并发在Python中就是一个美丽的梦----可能存在误导的情况

多线程的并发在Python中就是一个美丽的梦----可能存在误导的情况

Topic source

ywjco_567

#1 Created at ... [Delete] [Delete and Lock User]

文章中说:“Python解释器由于设计时有GIL全局锁,导致了多线程无法利用多核。多线程的并发在Python中就是一个美丽的梦。”

Python解释器有GIL全局锁没错,但有文章说:

IO密集型代码(文件处理、网络爬虫等涉及文件读写的操作),多线程能够有效提升效率(单线程下有IO操作会进行IO等待,造成不必要的时间浪费,而开启多线程能在线程A等待时,自动切换到线程B,可以不浪费CPU的资源,从而能提升程序执行效率)。所以python的多线程对IO密集型代码比较友好。

在python3.x中,GIL使用计时器(执行时间达到阈值后,当前线程释放GIL),能根据线程执行进行自动切换。需要用时,线程有耗系统资源小的优点。

参考:

https://www.cnblogs.com/whatisfantasy/p/6440585.html

这也不算是并发吧..?


  • 1

Reply