Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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