最近在看python多线程部分,看了一些资料说对于Python如果是CPU密集型应该用多进程模型,如果是IO密集型应该用多线程模型。后者可以理解。但是,为什么CPU密集型的要用多进程呢?不是进程占用的资源很多,进程切换就占用很多CPU资源,这样合理吗?
无
12 人赞同了该回答
Python,特指CPython的实现,由于GIL的存在,CPython不能有效的利用多核处理器。表现为任意时间一个进程只有一个线程在跑,而IO密集型运算,多数是在IO读写将线程堵塞掉了,这个时候线程切换是很合理的,反正线程只是单纯地等待,在这个等待的时候去做其他的事情,资源利用率就上去了。
赞同 12添加评论
分享
收藏喜欢
继续浏览内容
知乎
发现更大的世界
打开
Chrome
继续