当前位置:   article > 正文

python - 进程池 multiprocessing.Pool的简单使用_multiprocessing.pool qq

multiprocessing.pool qq
  1. import multiprocessing
  2. import time
  3. from queue import Queue
  4. qurl = Queue()
  5. def func(msg):
  6. print("msg:", msg)
  7. time.sleep(3)
  8. print("end")
  9. def make_data():
  10. for i in range(10):
  11. qurl.put(i)
  12. print('------ qurl.qsize() = ', qurl.qsize())
  13. def custom():
  14. pool = multiprocessing.Pool(processes=5)
  15. while not qurl.empty():
  16. data = qurl.get()
  17. print('--- data = ', data)
  18. pool.apply_async(func, (data,)) # 维持执行的进程总数为processes,当一个进程执行完毕后会添加新的进程进去
  19. pool.close()
  20. pool.join() # 调用join之前,先调用close函数,否则会出错。执行完close后不会有新的进程加入到pool,join函数等待所有子进程结束
  21. if __name__ == "__main__":
  22. start_time = time.time()
  23. make_data()
  24. print('make_data_end')
  25. custom()
  26. print('all task consum time = ', time.time() - start_time)
'
运行

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/860732
推荐阅读
相关标签
  

闽ICP备14008679号