ProcessPoolExecutor in concurrent

Simple example

import time
import concurrent.futures

start = time.perf_counter()

def do_something(seconds):
	print(f'sleeping {seconds} second(s)...')
	time.sleep(seconds)
	return f'Done sleeping...{seconds}'


f1 = executor.submit(do_something, 1)
f2 = executor.submit(do_something, 1)

print(f1.result())
print(f2.result())


finish = time.perf_counter()

print(f'Finish in {round(finish-start,2)} seconds(s)')

For循环

import time
import concurrent.futures

start = time.perf_counter()

def do_something(seconds):
	print(f'sleeping {seconds} second(s)...')
	time.sleep(seconds)
	return f'Done sleeping...{seconds}'

with concurrent.futures.ProcessPoolExecutor() as executor:
	results = [executor.submit(do_something,1) for _ in range(10)]

	for f in concurrent.futures.as_completed(results):
		print(f.result())

finish = time.perf_counter()

print(f'Finish in {round(finish-start,2)} seconds(s)')
import time
import concurrent.futures

start = time.perf_counter()

def do_something(seconds):
	print(f'sleeping {seconds} second(s)...')
	time.sleep(seconds)
	return f'Done sleeping...{seconds}'

with concurrent.futures.ProcessPoolExecutor() as executor:
	secs = [5,4,3,2,1]
	results = [executor.submit(do_something,sec) for sec in secs]

	for f in concurrent.futures.as_completed(results):
		print(f.result())



finish = time.perf_counter()

print(f'Finish in {round(finish-start,2)} seconds(s)')

map函数

import time
import concurrent.futures

start = time.perf_counter()

def do_something(seconds):
	print(f'sleeping {seconds} second(s)...')
	time.sleep(seconds)
	return f'Done sleeping...{seconds}'

with concurrent.futures.ProcessPoolExecutor() as executor:
	secs = [5,4,3,2,1]
	results = executor.map(do_something,secs)

	for result in results:
		print(result)

finish = time.perf_counter()

print(f'Finish in {round(finish-start,2)} seconds(s)')
posted @   华小电  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示