个人总结
command.py
file.py
time.py
excel.py
with 的原理和用法
subprocess 模块
cline 提示词
PathLike
pathlib
peewee
生成随机ID
FastApi 使用 peewee
http connect
Dataframe Protocol
pyarrow
overload 函数重载
1111
peewee 线程安全
Python 日志模块
rabbitmq 问答
多进程 daemon 参数
记录异常
dict.py
多进程
忽略异常
timer.py
Ctrl+C 退出while
发布pip包
Bolo组件
迭代器与生成器
dataclass
单例模式(二)
单例模式(一)
errors.py
enum.py
每日学习
本文档使用 MrDoc 发布
-
+
首页
多进程 daemon 参数
### 多线程中的 daemon 在threading中,如果启动线程时设置`daemon=True`,则主进程要退出时,主进程可顺利退出(其他线程也会退出),否则只要有一个non daemon线程存在,则主进程不会退出。 ``` class Thread(threading.Thread): def __init__(self, daemon): super(Thread, self).__init__() self.daemon = daemon def run(self): while True: print 'in Thread' time.sleep(1) def main(): thread = Thread(True) thread.start() time.sleep(2) print 'main exit now' sys.exit(0) if __name__ == '__main__': main() ``` 在main中,如果启动Thread设置daemon为False,则当main调用sys.exit后,整个进程依然存在,线程依然持续有打印。将daemon设置为True,则当main退出时,整个进程就退出了。 ### 多进程中的 daemon > 在多进程中,`daemon=True` 可以理解为守护进程,也就是说,`要生一起生,要死一起死` 所以,当主进程退出时,系统会关闭其所有`daemon=True`的子进程,`daemon=False`的子进程不会受到影响; 另外需要注意的是,`daemon=True`的子进程不能再创建子进程,如果尝试创建子进程会报错: ``` AssertionError: daemonic processes are not allowed to have children。 ``` 以下是Python官方文档的翻译: > 请注意,守护进程不允许创建子进程。否则,如果守护进程在其父进程退出时终止,则其子进程将成为孤立的。此外,这些不是 Unix 守护进程或服务,它们是正常进程,如果非守护进程退出,它们将被终止。
gaojian
2023年7月6日 15:06
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码