Ответ 1
Просто поток. Документация POSIX для sleep() говорит:
Функция
sleep()
должна вызывать приостановку вызова потока из выполнения...
использование: sleep(10)
в течение 10 секунд сна.
Я создаю программу с несколькими потоками, используя pthreads.
Является sleep()
, заставляя процесс (все потоки) прекратить выполнение или просто поток, на который я звоню sleep
?
Просто поток. Документация POSIX для sleep() говорит:
Функция
sleep()
должна вызывать приостановку вызова потока из выполнения...
использование: sleep(10)
в течение 10 секунд сна.
Попробуйте это,
#include <unistd.h>
usleep(microseconds);
Обычно я использую nanosleep, и он отлично работает. Nanosleep поддерживает выполнение вызывающего потока. У меня было такое же сомнение, потому что на некоторых страницах человека сон относится ко всему процессу.