【发布时间】:2020-03-11 00:07:57
【问题描述】:
我知道terminate 和kill 做了什么。 close() 是做什么的?
这是来自 python 文档的引用:
关闭 Process 对象,释放与其关联的所有资源。 如果底层进程仍在运行,则会引发 ValueError。一次 close() 成功返回,其他大多数方法和属性 Process 对象会引发 ValueError。
在我看来,这是有史以来最没用的电话:
如果进程仍在运行,它什么也不做,但会失败并出现异常
如果进程已经终止......它要么忙于清理,要么完成了清理,我为什么要在它上面调用一个显式的
close()? (此调用的使用是否取决于操作系统?)
会不会是这个文档条目非常尴尬,不知何故,这确实意味着close() 有权终止线程,但它只在某些 python 定义的检查点处这样做?
【问题讨论】:
标签: python python-3.x multiprocessing python-multiprocessing