博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进程池
阅读量:3960 次
发布时间:2019-05-24

本文共 660 字,大约阅读时间需要 2 分钟。

from concurrent.futures import ProcessPoolExecutorimport os,time'''def func(i):	print("任务执行中 ... start" , os.getpid())	time.sleep(3)	print("任务执行结束 ... end " , i)	return i'''# (1) ProcessPoolExecutor 进程池的基本使用'''if __name__ == "__main__":	lst = []	# cpu逻辑核心数	# print(os.cpu_count())	# (1) 创建进程池对象	"""参数: 默认获取的是最大cpu逻辑核心数 8"""	p = ProcessPoolExecutor(8)	# (2) 异步提交任务	"""默认如果一个进程短时间内可以完成更多的任务,进程池就不会使用更多的进程来完成,以节省资源"""	for i in range(10):		res = p.submit(func,i)		lst.append(res)		# (3) 获取当前进程任务中的返回值(result在获取任务的返回值时,有阻塞)	# for i in lst:		# print(i.result())		# (4) 等待所有子进程执行结束之后,在继续执行主进程内容(shutdown)	p.shutdown()  # <=> join	print("<=======>")	print(os.getpid())

转载地址:http://vwhzi.baihongyu.com/

你可能感兴趣的文章