10.8.1.2. Простой и легкий: sleep()

10.8.1.2. Простой и легкий: sleep()

Более легкий способ ожидания истечения фиксированного промежутка времени заключается в использовании функции sleep():

#include <unistd.h> /* POSIX */

unsigned int sleep(unsigned int seconds);

Возвращаемое значение равно 0, если процесс проспал все отведенное время. В противном случае возвращается оставшееся для сна время. Это последнее значение может возникнуть в случае, если появился сигнал, пока процесс дремал.

ЗАМЕЧАНИЕ. Функция sleep() часто реализуется через сочетание signal(), alarm() и pause(). Такой подход делает опасным смешивание sleep() с вашим собственным вызовом alarm() (или расширенной функцией setitimer(), описанной в разделе 14.3.3 «Интервальные таймеры setitimer() и getitimer()») Чтобы теперь узнать о функции nanosleep(), см. раздел 14.3.4 «Более точные паузы: nanosleep()».