首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Windows上的Python - 如何等待多个子进程?

在Windows操作系统上,使用Python多进程时,您可以使用concurrent.futures模块或threading模块同时运行多个子进程。下面我们将分别介绍使用这两个模块的示例:

  1. 使用concurrent.futures模块运行多个子进程:
代码语言:python
复制
import concurrent.futures
import time

# 定义需要运行的子进程的函数
def worker(i):
    time.sleep(i)
    return i * i

# 定义多线程任务列表
tasks = [worker(i) for i in range(10)]

# 使用concurrent.futures.ThreadPoolExecutor来运行多个子进程
with concurrent.futures.ThreadPoolExecutor() as executor:
    # 等待所有子进程完成
    futures = [executor.submit(worker, i) for i in range(10)]
    results = [f.result() for f in futures]

print("子进程结果:", results)
  1. 使用threading模块运行多个子进程:
代码语言:python
复制
import threading
import time

# 定义需要运行的子进程的函数
def worker(i):
    time.sleep(i)
    return i * i

# 定义多线程任务列表
tasks = [worker(i) for i in range(10)]

# 使用threading.Thread来运行多个子进程
threads = [threading.Thread(target=worker, args=(i,)) for i in range(10)]
for thread in threads:
    thread.start()

# 等待所有子进程完成
for thread in threads:
    thread.join()

print("子进程结果:", [t.result() for t in tasks])

以上两种方法都可以等待多个子进程同时运行并获取结果,您可以根据自己的需求选择其中一种。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券