Python 进程和线程问题,请指教

2020-04-15 17:29:57 +08:00
 loriann

假设我创建了 5 个线程,在这 5 个线程中使用了 popen 函数。那这 5 个线程是复制了 5 个父进程的信息吗。新创建的子进程会不会也有 5 个线程?

1643 次点击
所在节点    Python
3 条回复
Nitroethane
2020-04-15 18:46:25 +08:00
Linux 下,在一个多线程的进程中,每个 thread 里 fork 一个 child process 的话每个新的 child process 只有创建此 process 的 thread,即只存在一个 thread
Reference: https://stackoverflow.com/a/39890957/6628963
loriann
2020-04-15 21:57:48 +08:00
谢谢,我刚才我试验了一下,确实 fork 的进程只有一个线程
frostming
2020-04-16 12:07:46 +08:00
popen 并不是 fork 出来的而是 spawn 出来的,进程信息跟父进程不共享

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/662747

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX