2012-02-29 3 views

ответ

1

В реальном времени поток (с SCHED_RR, то есть) всегда будет вытеснять нереальную версию (с SCHED_OTHER, то есть).

Иными словами, поток SCHED_OTHER будет иметь возможность запускать только при блокировке потока SCHED_RR.

+0

Если предположить, что потоки с политиками реального времени продолжаются дольше, то что происходит с потоками с политиками SCHED_OTHER? – Gughan

+0

@ Gughan: потоки SCHED_OTHER ожидают, пока потоки реального времени не откажутся от процессора. Если поток в реальном времени никогда не отказывается от процессора, нити SCHED_OTHER никогда не получат шанс запустить. – janneb

0

Что такое @janneb, это верно для Linux-реализации POSIX. Но так как этот вопрос был также помечен posix, я процитирую то, что POSIX 7 says about it:

Влияние планирования потоков с политикой SCHED_OTHER в системе, в которой другие потоки исполняющего под SCHED_FIFO, SCHED_RR или SCHED_SPORADIC является реализация -определенной.

Так что я могу интерпретировать из этого, что POSIX не указывает, что происходит.

Смежные вопросы