参考链接http://blog.youkuaiyun.com/jinping_shi/article/details/52433867
Python的多线程实际上并不能真正利用多核,所以如果使用多线程实际上还是在一个核上做并发处理。不过,如果使用多进程就可以真正利用多核,因为各进程之间是相互独立的,不共享资源,可以在不同的核上执行不同的进程,达到并行的效果。
p.join()的意思是等待子进程结束后才执行后续的操作,一般用于进程间通信。例如有一个读进程pw和一个写进程pr,在调用pw之前需要先写pr.join(),表示等待写进程结束之后才开始执行读进程。
如果要同时创建多个子进程可以使用multiprocessing.Pool类。该类可以创建一个进程池,然后在多个核上执行这些进程。
本文探讨了Python中多线程与多进程的区别及应用。指出由于全局解释器锁(GIL)的存在,Python多线程无法实现真正的并行处理。而多进程则可以充分利用多核CPU的优势实现任务并行执行。文章还介绍了进程间通信的方法以及如何使用进程池来提高程序效率。
484

被折叠的 条评论
为什么被折叠?



