Ich habe ein Pseudo-RT-System, das mehrere Threads ausgeführt wird. Ich möchte, dass jeder Thread bei einer bestimmten Frequenz (Periodenintervall) ausgeführt wird. Ich habe usleep (time_until_reschedule) benutzt. Das Problem ist, dass time_until_reschedule berechnet werden könnte, dann könnte ein Thread mit höherer Priorität diesen Thread vorgreifen, und ich möchte ein solches Verhalten vermeiden.sleep_until in embedded_linux in Multi-Thread-Umgebung (Embedded Linux)
Ich möchte etwas implementieren, das sich wie "sleep_until" verhält. Ich denke daran, hrtimers (in meinem Kernel) mit SIGEV_THREAD_ID zu verwenden, um jeden Thread zu benachrichtigen, während der Thread sigwait() aufruft.
Ist das eine sinnvolle Art, eine Art von sleep_until() zu implementieren oder gibt es unter Linux einen besseren Weg?
Danke, das sieht eine gute Lösung für mein Problem aus! Ich wusste nicht über clock_nanosleep oder die EDF, vielen Dank! – Jary316