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