다중 스레드를 실행하는 가상 RT 시스템이 있습니다. 각 스레드가 특정 빈도 (기간 간격)로 실행되기를 원합니다. 나는 usleep (time_until_reschedule)을 사용하고있다. 문제는 time_until_reschedule을 계산할 수 있고, 우선 순위가 높은 스레드가이 스레드를 선점 할 수 있으므로 이러한 동작을 피하고 싶습니다.멀티 스레드 환경에서 임베디드 리눅스의 sleep_until (임베디드 리눅스)
"sleep_until"과 같은 역할을 구현하고 싶습니다. 스레드가 sigwait()를 호출하는 동안 각 스레드에 알리기 위해 SIGEV_THREAD_ID와 함께 hrtimers (내 커널에서 빌드 됨)를 사용하려고합니다.
일종의 sleep_until()을 구현하는 현명한 방법인가, 아니면 Linux에서 더 좋은 방법이 있습니까?
감사합니다.이 문제는 내 문제를 해결하는 좋은 방법입니다! 나는 clock_nanosleep 또는 EDF에 대해 몰랐다. 정말 고마워! – Jary316