python - 等待所有 python 进程完成

标签 python python-2.7 python-multiprocessing

我在调用这段代码的循环中启动了几个带有下载的 python 进程:

startTimeMillis = int(round(time.time() * 1000))

for i in range(10):
        p = multiprocessing.Process(target=performCurl, args =("http://www.google.com/d", i, ))
        p.start()


endTimeMillis = int(round(time.time() * 1000))
totalTimeSeconds = (endTimeMillis - startTimeMillis)
print "The whole process took ", str(totalTimeSeconds)

我想检查所有进程完成所需的时间,那么我该如何让代码的最后一部分等待所有进程?

最佳答案

使用p.join()等待进程终止

all_processes = [multiprocessing.Process(...) for ... in ...]
for p in all_processes:
  p.start()

for p in all_processes:
  p.join()

关于python - 等待所有 python 进程完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29235316/

相关文章:

python - 在假设函数中执行数据库查询时列出超出范围的索引

python - 从 Spark GroupedData 对象中选择随机项

python - 在 Jupyter Windows 上使用池并行读取多个文件需要很长时间 :

opencv - 使用多线程的程序,在使用多处理时挂起

python - tkinter 强制缩进

python - 当pandas中有混合列数据时添加条件滚动计数

python-2.7 - 如何在python中保存直方图?

Python - 带有 DLL 资源图标的 tkinter.messagebox

python - 如何使用 Google 的视觉 API 通过一次调用注释多个图像? Python

python - 为什么 Linux 可以在多进程中接受套接字?