python 多线程vs多进程

多进程和多线程的应用场景

Python多线程和多进程差异

Python多线程不能使用CPU多核资源,即同一时刻,只有一个线程使用CPU资源,所以使用Python多线程不能算是并发。

如果想要充分利用CPU多核资源,做到多并发,这就需要Python多进程的了!

也就是说:只有Python多进程才能利用CPU多核资源,做到真正的多并发!

Python多线程和多进程应用场景

既然Python多线程不能并发,那存在还有什么意义呢?

其实Python多线程和多进程有自己的应用场景:

  • Python多线程适用于I/O密集型场景,如解决网络IO、磁盘IO阻塞问题,例如文件读写、网络数据传输等;
  • Python多进程更适用于计算密集型场景,多并发,大量计算任务等。

 

进程vs多线程:最流行的方法是应用多进程方法,在这个方法中你使用多个进程而不是多个线程。每一个Python进程都有自己的Python解释器和内存空间,因此GIL不会成为问题。Python拥有一个multiprocessing模块可以帮助我们轻松创建多进程:

 

相比于多线程版本,性能有所提升。

但是时间并没有下降到我们之前版本的一半,这是因为进程管理有自己的开销。多进程比多线程更“重”,因此请记住,这可能成为规模瓶颈。

 

 

 

posted @ 2020-11-26 09:32  7dao  阅读(146)  评论(0编辑  收藏  举报