在2.6才开始使用multiprocessing 是一个使用方法类似threading模块的进程模块。允许程序员做并行开发。并且可以在UNIX和Windows下运行。
通过创建一个Process 类型并且通过调用call()方法spawn一个进程。
下面是该模块的一个测试程序。效果非常好
#!/usr/bin/env python #coding=utf-8 from multiprocessing import Process import time,os,sys,math def f(name): print 'hello ',name print os.getppid() #取得父进程ID print os.getpid() #取得进程ID sys.stdout.flush() for i in xrange(10000000): math.sqrt(i**2) print name,'ok' sys.stdout.flush() def main(): process_list = [] for i in range(10): p = Process(target=f,args=(i,)) p.start() process_list.append(p) for j in process_list: j.join() if __name__ == '__main__': main()
可以查看CPU的使用情况,多核资源占用得非常丰满。效果良好