参考链接http://blog.csdn.net/jinping_shi/article/details/52433867
Python的多线程实际上并不能真正利用多核,所以如果使用多线程实际上还是在一个核上做并发处理。不过,如果使用多进程就可以真正利用多核,因为各进程之间是相互独立的,不共享资源,可以在不同的核上执行不同的进程,达到并行的效果。
p.join()
的意思是等待子进程结束后才执行后续的操作,一般用于进程间通信。例如有一个读进程pw和一个写进程pr,在调用pw之前需要先写pr.join()
,表示等待写进程结束之后才开始执行读进程。
如果要同时创建多个子进程可以使用multiprocessing.Pool
类。该类可以创建一个进程池,然后在多个核上执行这些进程。