我试图在我的程序中实现多处理。
最初,我写了这段代码。
pool = mp.Pool(mp.cpu_count())
for i in range(0, 10000):
bid = i
ask = i
pool.apply_async(function1, args=(bid, ask,))
pool.apply_async(function2, args=(bid, ask,))
pool.apply_async(function3, args=(bid, ask,))
pool.close()
pool.join()
这给了我一个错误:
Python ValueError: Pool is still running
所以我修改了代码:
for i in range(0, 10000):
bid = i
ask = i
pool = mp.Pool(mp.cpu_count())
pool.apply_async(function1, args=(bid, ask,))
pool.apply_async(function2, args=(bid, ask,))
pool.apply_async(function3, args=(bid, ask,))
pool.close()
pool.join()
这根本不会执行&显示一个空白终端。
我试图实现的是,对于我想要并行运行3个函数的范围内的每一个值,只有在这3个函数被执行之后,它才应该移动到下一个
i
价值观
range(0,1000)
.