Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
POSIX セマンティクスで、プロセス A があり、t1 と t2 の 2 つのスレッドがあるとします。t1 がメイン スレッドで、t2 で fork を呼び出してプロセス B を fork します。
では、この新しいプロセス B にも t1 と t2 がありますか? それともt2だけですか?
つまり、フォークは複数のスレッドを新しいプロセスにも複製しますか?
子プロセスは、単一のスレッド (fork() を呼び出したスレッド) で作成されます。ミューテックス、条件変数、その他の pthreads オブジェクトの状態を含め、親の仮想アドレス空間全体が子に複製されます。pthread_atfork(3) を使用すると、これが引き起こす可能性のある問題に対処するのに役立つ場合があります。
男 2フォーク マニュアル