环境:
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__':
由于递归调用(是的,我设法像其他人一样崩溃了我的电脑:))
我的代码在另一个类调用的类中,因此它不在主模块下。如果不重写所有内容(并使代码有点笨拙),我就没有办法对此进行排序。对于可以使用的并发进程,有没有办法绕过这个或另一个库?