为了账号安全,请及时绑定邮箱和手机立即绑定

python多进程 通过for循环 join 的问题

python多进程 通过for循环 join 的问题

暮色呼如 2018-08-22 10:09:36
代码如下:import os from multiprocessing import Processdef func(num):   print('in func',num,os.getpid(),os.getppid()) if __name__ == '__main__':   print('in main',os.getpid(),os.getppid())   p_l = []   for i in range(10):     p = Process(target=func,args=(i,))     p.start()  # start不是运行一个程序,而是调用操作系统的命令,要创建子进程,非阻塞     p_l.append(p)   print(p_l)   for p in p_l :   p.join() # 阻塞,直到p这个子进程执行完毕之后再继续执行   print('主进程 的 代码执行结束了')执行结果如下:问题:有没有可能在 for 循环 join的时候,比如现在循环到p3.join了,但是p3已经执行完毕了,这时候有没有可能会打印最后那句 print("主进程 的 代码之行结束了")
查看完整描述

1 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

你都阻塞了。循环没有结束,不能执行后面的


查看完整回答
反对 回复 2018-09-10
  • 1 回答
  • 0 关注
  • 1083 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号