Как получить Sleep (0) подобное поведение в Linux - PullRequest
16 голосов
/ 28 июня 2011

В Windows Sleep (0) возвращает управление потоками без указания минимального времени ( см. Здесь ) Но в Linux и POSIX sleep (0) из unistd.h просто игнорируется.

Как лучше всего настроить Sleep (0) на поведение в Linux?

1 Ответ

18 голосов
/ 28 июня 2011

Попробуйте sched_yield из "sched.h", который создан именно для того, что вы хотите сделать.

Если это не работает по какой-либо причине - попробуйте usleep(1) - Это даст как минимум 1 микросекундную задержку (может быть больше), что, в свою очередь, вызывает переключение контекста (если какой-либо поток ожидает).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...