python多进程处理

最近处理fMRI数据时由于采用了的算法需要随机成千上万次,因此所需的计算量相当大, 单线程处理的话一般要一天,python原生是不支持多线程的,因此考虑采用python的多进程。其实编写python多进程的程序还是比较简单。下面实在自己的电脑上开启了4进程。


任务管理器里面CPU显示已经占用了100%。



准备开始coding...

首先导入相应的多进程的包:

import multiprocessing

下面就可以开始编写多就进程的程序了:

pool = multiprocessing.Pool(processes=multiprocessing.cpu_count())
pool_outputs = pool.map(func,  var_list)
pool.close()
pool.join()


第一行代码表示获取CPU核心的数量,第二行的map函数的第一个参数是多进程需要调用的函数, var_list是参数,是一个list类型的。pool_outputs 是多进程处理后返回的处理结果。



你可能感兴趣的:(Python)