在Windows操作系统上,使用Python多进程时,您可以使用concurrent.futures
模块或threading
模块同时运行多个子进程。下面我们将分别介绍使用这两个模块的示例:
concurrent.futures
模块运行多个子进程: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)
threading
模块运行多个子进程: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])
以上两种方法都可以等待多个子进程同时运行并获取结果,您可以根据自己的需求选择其中一种。
云+社区沙龙online [国产数据库]
DB・洞见
第四期Techo TVP开发者峰会
“中小企业”在线学堂
“中小企业”在线学堂
云原生正发声
“中小企业”在线学堂
云+社区技术沙龙[第3期]
领取专属 10元无门槛券
手把手带您无忧上云