CPU密集型和IO密集型

  对于Python如果是CPU密集型应该用多进程模型(大量的计算)

   如果是IO密集型应该用多线程模型(数据的读取写入、网络IO数据传输)

  由于GIL的存在,CPython不能有效的利用多核处理器,表现为任意时间一个进程只有一个线程在跑;而IO密集型运算,多数是在IO读写将线程堵塞掉了,这个时候线程切换是很合理的,反正线程只是单纯地等待,在这个等待的时候去做其他的事情,资源利用率就上去了。

  

  python的多线程只能使用一个cpu核心,io密集型应用,本来cpu占用率就很低(主要原因还是GIL锁)

  python多线程这个限制和协程有点像,应用也很像,都是适合io密集型

上一篇:获取DataSet中某行某列的数据


下一篇:CPU计算密集型和IO密集型