Python中文
首页
教程
问答
标签
搜索
登录
注册
python多处理子进程阻塞父进程
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图学习多重处理,并创建了一个示例,但它的行为出乎意料。 父进程运行,然后创建子进程,但在子进程完成之前,资源不会返回到父进程</p> <p>代码:</p> <pre><code>from multiprocessing import Process import time def f(): newTime = time.time() + 7 while(time.time() < newTime): print("inside child process") time.sleep(int(5)) if __name__ == '__main__': bln = True while(True): newTime = time.time() + 4 while(time.time() < newTime): print("printing fillers") if(bln): p = Process(target=f) p.start() p.join() bln = False </code></pre> <p>结果</p> <p>“内部子进程”</p> <p>(等待5秒)</p> <p>“内部子进程”</p> <p>“印刷填料”</p> <p>“印刷填料”</p> <p>[……]</p> <p>如果我删除“p.join()”,那么它就会工作。但根据我的理解,p.join()是告诉程序在结束程序之前等待该线程/进程完成。 有人能告诉我为什么会这样吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>p.join()不是用于结束程序,而是用于等待子进程完成。如果需要结束程序,请使用sys.exit(0)或raise SystemExit(“此处的原因”)之类的命令</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当启用身份验证时,超过一定大小的http发布失败
1 回答
当呈现Flask温度时,bokeh图为空
5 回答
当呈现模板时,如何引用sqlalchemy中的自定义字段?
9 回答
当周围有更多相同类型的标记时,如何从一个标记中提取数据
2 回答
当周数跨越多个y时,如何使用Pandas groupby week
6 回答
当呼唤django和python提示时
8 回答
当命令`Brew installPython@2`然后出现错误“Theme error”。如何解决?
7 回答
当命令[1]不存在时,用户输入命令以列出超出范围的索引
5 回答
当命令/启动被发送到bot时,bot应该删除发送给组的标签;但是bot没有
3 回答
当命令lin执行时,导入datetime会在Python脚本中引发ModuleNotFound“math”
9 回答
当命令中提到Bot时,Bot发送其前缀
1 回答
当命令位于DM中时,Python Discord.py bot将角色分配给服务器中的用户
9 回答
当命令在discord.py中缺少必需的参数时,如何显示消息
2 回答
当命令在多个不同的服务器上处于活动状态时,如何在discord.py上使用while循环
5 回答
当命令在提示符下成功运行时,Python subprocess.check_输出产生错误
5 回答
当命令提示时自动按键按回车键
7 回答
当命令提示符意外关闭时,如何访问python虚拟环境?
2 回答
当命令提示符给出导入错误时,当我尝试运行服务器python文件时,需要进行什么更改?
4 回答
当命令有双引号时,如何从python运行windows命令行命令
10 回答
当命令的一部分来自用户inpu时在linux服务器上执行命令的安全方法
5 回答