【发布时间】:2020-01-03 09:28:46
【问题描述】:
我有一个简单的for 循环,它打印一个从 1 到 9999 的数字,中间有 5 秒的睡眠时间。代码如下:
import time
def run():
length = 10000
for i in range(1, length):
print(i)
time.sleep(5)
run()
我想申请 multiprocessing 以与多核同时运行 for 循环。所以我修改了上面的代码,取了 5 个核心:
import multiprocessing as mp
import time
def run():
length = 10000
for i in range(1, length):
print(i)
time.sleep(5)
if __name__ == '__main__':
p = mp.Pool(5)
p.map(run())
p.close()
运行该作业没有问题,但它似乎没有与 5 个内核并行运行。我怎样才能让代码按预期工作?
【问题讨论】:
标签: python-3.x for-loop parallel-processing multiprocessing