使用进程池的疑问

使用进程池的疑问

http://img1.sycdn.imooc.com//climg/5ec48fbd092f26de03700253.jpg

问题一、不需要start()吗?

问题二、为什么要又写close(),又写join()?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好:

  1. Pool中的map()方法包括了创建线程及开始运行的功能,不需要使用start()了。

  2. pool.close():关闭pool,使其不在接受新的任务;

    pool.join():主进程阻塞后,让子进程继续运行完成,子进程运行完后,再把主进程全部关掉。

如果解决了你的疑惑,请采纳,祝学习愉快~


  • 江民川 提问者 #1
    pool.join():主进程阻塞后,让子进程继续运行完成,子进程运行完后,再把主进程全部关掉。还是没懂这个join的功能,为什么一个join又能控制阻塞又能控制继续和关闭。
    2020-05-20 14:32:40
  • 好帮手慕觉浅 回复 提问者 江民川 #2
    同学你好:join()是在子进程未执行完时阻塞主进程,在子进程执行完毕时唤醒主进程继续运行。起到了同步的作用。
    2020-05-20 16:00:11
  • 江民川 提问者 回复 好帮手慕觉浅 #3
    这里的主和子都是什么?Pool是主吗?Pool在上一行已经被close了呀
    2020-05-20 16:06:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师