import os
from multiprocessing import Pool
i = 0
def pp(job_id):
global i
i = i + 1
print(f"[{job_id:02}]: {i}, from {os.getpid()}")
if __name__ == "__main__":
with Pool(4, maxtasksperchild=2) as p:
p.map(pp, range(9), chunksize=1)
# maxtasksperchild 最大容许m个子进程被复用(同时存活)
# chunksize最大容许单个被复用的进程能够同时处理的任务次数n;实际上以n的整数倍出现
# 但是对于测试代码来讲进程复用的速度会比新创建进程的速度要快,所以能够看到实际上n大于等于1的倍数出现的
网友评论