【发布时间】:2016-05-20 04:15:15
【问题描述】:
我有点困惑我想详细了解一下,如果具有多个线程的 C 程序创建新进程会发生什么。行为是否取决于创建新进程的线程或创建新进程的线程数?
【问题讨论】:
-
发生了很多事情。我们无法真正从零开始向您解释一切。因此,您的问题需要比询问“发生了什么”更具体一些。但是对于初学者,您可能需要阅读
forkman page,然后是pthread_atforkman page。后者的“基本原理”部分可能会对您有所帮助。如果不是,请澄清您的问题。 -
更具体的问题:如果具有多个线程的 C 程序创建新进程会发生什么情况。忽略第二部分。
-
这并不是更具体。您仍然在问一个非常广泛的“发生了什么”。发生的事情(在 Linux 上)是每次创建都会产生一个新进程,该进程具有一个线程,并且地址空间内容从父进程复制。但是上面的手册页中描述了许多细节和微妙之处。如果有什么具体的你不明白,那就问吧。否则问“发生了什么”有点宽泛。
标签: c multithreading process pthreads