Python窗口并行循环而不在__main__中

时间:2015-09-29 08:49:07

标签: python python-3.x concurrency parallel-processing python-multiprocessing

环境:

Python 3和Windows 10

我有一些cpu密集型代码,目前运行在数据集中的所有行,并计算每行的内容。目前大约需要1分钟来完成大约10k行,我认为使用流程池可以大大减少这一点(计算结果的顺序并不重要)。

我对python编程比较陌生,经过一些研究,期货看起来很理想。做类似的事情:

with futures.ProcessPoolExecutor() as executor:
   my_futures = [executor.submit(my_function,row) for row in my_data]
   ..do stuff with results

问题是在Windows中我似乎需要在主模块中运行此代码吗?

if __name__ == '__main__':

由于递归调用(是的,我设法像其他人一样崩溃了我的电脑:))

我的代码在另一个类调用的类中,因此它不在主模块下。如果不重写所有内容(并使代码有点笨拙),我就没有办法对此进行排序。对于可以使用的并发进程,有没有办法绕过这个或另一个库?

0 个答案:

没有答案