すべてのスレッド (Linux で実行されるマルチスレッド C コード内) が特定の時間の後に関数を呼び出すようにします。私はalarm()を試しました。これはスレッドセーフではありません。この方法でスケジュールできる SIGALRM 生成は 1 つだけです。SIGALRM シグナルがまだ生成されていない場合、呼び出しにより、SIGALRM シグナルが生成される時刻が再スケジュールされます。
そのような機能を実装し、スレッドが関数を呼び出してその時点で現在のタスクを終了することを保証する方法はありますか?