python进程池:multiprocessing.pool - jihite - 博客园
import multiprocessing
import time
def func(msg):
for i in range(3):
print (msg)
time.sleep(1)
return "done " + msg
if __name__ == "__main__":
print(multiprocessing.cpu_count())
#设置可以最大并行执行的数量 processes
pool = multiprocessing.Pool(processes=multiprocessing.cpu_count())
result = []
for i in range(10):
msg = "hello %d" %(i)
result.append(pool.apply_async(func, (msg, )))
pool.close() #关闭pool,不可以继续向内放入东西
pool.join()# 主进程等待所有进程结束
for res in result:
print (res.get()) #获得结果
print ("Sub-process(es) done.")