Py学习  »  Python

for循环中的Python多处理

Hash Line • 3 年前 • 1258 次点击  

我试图在我的程序中实现多处理。
最初,我写了这段代码。

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) .

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/130893
 
1258 次点击  
文章 [ 1 ]  |  最新文章 3 年前