为啥cpu密集型适合用多进程,而io密集型适合用多线程? 因为cpu密集型说明各个任务都需要cpu, 反复切换没有意义,即并发意义不大。而多进程在多核cpu上是可以并行的,注意是并行。所以能加速。 而 io密集型说明任务经常会阻塞等待不怎么需要cpu, 所以即使单核上做并发,即使每个时刻只运行一个进程,依然能节省某个任务的等待时间,让cpu忙起来。所以能提速。
为啥cpu密集型适合用多进程,而io密集型适合用多线程? 因为cpu密集型说明各个任务都需要cpu, 反复切换没有意义,即并发意义不大。而多进程在多核cpu上是可以并行的,注意是并行。所以能加速。 而 io密集型说明任务经常会阻塞等待不怎么需要cpu, 所以即使单核上做并发,即使每个时刻只运行一个进程,依然能节省某个任务的等待时间,让cpu忙起来。所以能提速。