我正在尝试理解如何在Python 3.2.2中使用
这段代码在一个4核的Windows XP系统上运行并返回:
1 4 9 16 25
...但是之后就卡住了。
显然我做错了什么。那么,正确的Python进程池运行方式是什么?我不想使用executor.map方法,因为我没有从我的进程中得到任何返回值。
或者,我是否需要通过让进程返回True或False(或其他内容)来伪造它?
谢谢!
concurrent.futures
模块,并且一直在尝试文档中的例子。但是当我尝试应用我的理解时,我的示例失败了。希望有人能帮助我找到正确的方法!我希望能够设置多个进程并行运行,但异步执行。我的进程不会返回任何内容。为了模拟这一点,我编写了一个微不足道的示例:import concurrent.futures
fred = [1,2,3,4,5,6,7,8,9,10]
def f(x):
print(x * x)
def main():
with concurrent.futures.ProcessPoolExecutor() as executor:
for num in fred:
executor.submit(f, num)
if __name__ == "__main__":
main()
这段代码在一个4核的Windows XP系统上运行并返回:
1 4 9 16 25
...但是之后就卡住了。
显然我做错了什么。那么,正确的Python进程池运行方式是什么?我不想使用executor.map方法,因为我没有从我的进程中得到任何返回值。
或者,我是否需要通过让进程返回True或False(或其他内容)来伪造它?
谢谢!
None
。 - Brad Campbell