0

仕様によると、関数は「スレッドまたはプロセスが終了するのを待ってブロックしてはなりません。つまり、通常、function() は、子プロセスとワーカー スレッドが完了する前に戻ります。」どうすればそれを達成できますか?pthread_join を指定すると、関数は pthread が終了するまで待機します。これがないと、スレッドはすべての作業を行う前にキャンセルされます。

ありがとう。

4

1 に答える 1

2

私には、スレッドへの参照をスレッドのコンテナーに格納する必要があるように思えます。これは、グローバルであるか、関数によって返され、呼び出し元によって保持されます。次に、プロセスの最後に (ただし、関数が戻った後はさらに長くなる可能性があります)、pthread_joinそのコンテナー内のすべてのスレッドを呼び出して、それらが適切に終了していることを確認します。

于 2012-04-16T01:46:22.513 に答える