由于python 多线程是无法在多核上发挥优势的,所以才用多进程的方式来折中将这个问题解决。

 

 

 

 1 from  multiprocessing import Pool
 2 import os
 3 def f(x):
 4     #打印变量和每个进程的pid这样在显示结果中可以看出是多进程
 5     print x,os.getpid()
 6     return x*x
 7 if __name__ == '__main__':
 8     #用pool 方法来生成一个进程池,每次可以执行5个进程
 9     p=Pool(5)
10     #这个map函数是 multiprocessing 包装后的并不是自带的map函数
11     print  p.map(f,range(5))
View Code

相关文章: