LinuxでphtreadsとCを使用してアプリケーションを作成しています。main関数は、一連のスレッド(最大20)を開始します。次に、ある基準の下で、すべてのスレッドを一度に停止する必要があります。各スレッドは、次のような条件付きループの下で実行されています。
while (state) {....}
したがって、スレッドごとに状態をfalseに変更する必要があります(現時点では、スレッドごとに1つの状態で十分だと思いますが、将来的には、スレッドごとに個別に停止する必要があります)
それで、それを行うための最良の方法は何ですか?ある状態をグローバル変数として使用し、それにミューテックスを使用することができます。その値を読み取るために、ロック、読み取り、ロック解除する必要があるたびに。そして、それはちょっと時間のかかる手順だと思います。それを実装する方法について他に何かアイデアはありますか?