import multiprocessing
import time
def job(i):
print('I am job', i)
while True:
time.sleep(1)
with multiprocessing.Pool(processes=2) as pool:
for i in range(2):
pool.apply_async(job, args=(i,))
pool.join()
这不是要永远等待两个子进程完成,这永远不会发生吗?而是父进程立即退出。
这似乎是使用上下文管理器语法的结果;以下作品:
pool = multiprocessing.Pool(processes=2)
for i in range(2):
pool.apply_async(job, args=(i,))
pool.close()
pool.join()