导语:
本文主要介绍了关于python中进程池Pool的初始化的相关知识,希望可以帮到处于编程学习途中的小伙伴
说明
1、初始化Pool时,可以指定流程数。
2.当一个新的请求被提交到Pool中时,如果池没有满,则创建一个新的进程来执行这个请求。
3.如果pool中的进程数达到指定值,则等待请求直到pool中的进程结束,用之前的进程执行新的任务。
实例
# -*- coding:utf-8 -*-
import os, time, random
from multiprocessing import Pool
def worker(msg):
t_start = time.time()
print("%s开始执行,进程号为%d" % (msg,os.getpid()))
# random.random()随机生成0~1之间的浮点数
time.sleep(random.random()*2)
t_stop = time.time()
print(msg,"执行完毕,耗时%0.2f\n" % (t_stop-t_start))
def main():
po = Pool(3) # 定义一个进程池,进程数3
for i in range(0,10):
# Pool().apply_async(要调用的目标,(传递给目标的参数元祖,))
# 每次循环将会用空闲出来的子进程去调用目标
po.apply_async(worker,(i,))
print("----start----")
po.close() # 关闭进程池,关闭后po不再接收新的请求
po.join() # 等待po中所有子进程执行完成,必须放在close语句之后
print("-----end-----")
if __name__ == "__main__":
main()
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 一张图让你学会Python01/06
- ♥ python sep的含义10/27
- ♥ python的数值运算有哪些11/20
- ♥ 如何运行python11/18
- ♥ python如何处理excel08/17
- ♥ python input()的特点10/31
内容反馈