使用multiprocessing库,通过multiprocessing.Pool设置进程数,即 (processes=3)或者设置你自己的数量,如果池还没有满,就会创建一个新的进程来执行请求。如果池满,请求就会告知先等待,直到池中有进程结束,才会创建新的进程来执行这些请求。
import multiprocessing
def functest(x):
函数体
if __name__ == "__main__":
pool = multiprocessing.Pool(processes=3)
# 动态循环添加进程
for i in range(3):
print("------------------>", i)
# Pool().apply_async(要调用的目标,(传递给目标的参数,))
# 每次循环将会用空闲出来的子进程去调用目标
pool.apply_async(functest, (i,))
# 或者直接添加,也可调用不同方法
pool.apply_async(functest, (3,))
pool.apply_async(functest, ([0,1,2], ))
pool.apply_async(functest, ({0,3,4}, ))
pool.close()
pool.join()
print("done.")
版权声明:本文为Porhowlyuu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。