1

各スレッドにヘルパー スレッドがあり、最初のスレッドがタスクを達成するのに役立つマルチスレッド アプリケーションがあります。スレッドが終了する (exit を呼び出す可能性が高い) ときに、ヘルパー スレッドも終了することを望みます。

を使用する可能性があることは知っていますexit_groupが、このシステム コールは、呼び出しスレッドの同じグループ内のすべてのスレッドを強制終了します。たとえば、アプリケーションに 10 個のスレッド (したがって 10 個の追加のヘルパー スレッド) がある場合、スレッドと関連するヘルパー スレッドのみを終了し、他のスレッドは実行し続けたいと考えています。

私のアプリケーションは Linux でのみ動作します。

どうすればこの動作を行うことができますか?

マルチスレッドについて読んで、Linux のスレッド グループとプロセス グループの概念について少し混乱しました。これらの用語は同じものを指していますか? 正確には、プロセス グループ (およびおそらくスレッド グループ) は、次の呼び出しのいずれかによって取得される pid です。

   pid_t getpgid(pid_t pid);
   pid_t getpgrp(void);                 /* POSIX.1 version */
   pid_t getpgrp(pid_t pid);            /* BSD version */
4

1 に答える 1