私は複数のスレッドを実行している擬似RTシステムを持っています。私は各スレッドを特定の頻度(期間間隔)で実行したい。私はusleep(time_until_reschedule)を使用しています。問題は、time_until_rescheduleを計算することができ、次に高い優先順位のスレッドがこのスレッドを先取りする可能性があることです。このような動作を避けたいと思います。マルチスレッド環境(embedded Linux)のembedded_linuxでのsleep_until
"sleep_until"のような機能を実装したいと思います。スレッドがsigwait()を呼び出している間に各スレッドに通知するために、SIGEV_THREAD_IDのhrtimers(カーネルに組み込まれています)を使用することを考えています。
これは一種のsleep_until()を実装する実用的な方法ですか、それともLinuxではより良い方法ですか?
ありがとうございます、これは私の問題の良い解決策に見えます!私はclock_nanosleepまたはEDFについては知らなかった、ありがとう! – Jary316