sleep()

Приостановить поток на заданный промежуток времени

Прототип:

#include <unistd.h>
unsigned int sleep( unsigned int seconds );

Аргументы:

seconds
Число секунд, на которые необходимо приостановить исполнение потока.

Библиотека:

libc

Описание:

Функция sleep() приостанавливает вызывающий поток на seconds секунд, либо до поступления сигнала. В последнем случае поток выполнит предусмотренные данным сигналом действия. Приостановка выполнения может длиться дольше запрашиваемого ввиду характера измерения времени или исполнения более высокоприоритетных потоков.

Возвращаемое значение:

0
Истекло предельное время ожидания
≠0
Оставшееся число секунд для ожидания, в случае прерывания ожидания сигналом.

Примеры:

/*
* The following program sleeps for the
* number of seconds specified in argv[1].
*/
#include <stdlib.h>
#include <unistd.h>
int main( int argc, char **argv )
{
unsigned seconds;
seconds = (unsigned)strtol( argv[1], NULL, 0 );
sleep( seconds );
return (EXIT_SUCCESS);
}

Классификация:

POSIX 1003.1

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

alarm(), delay(), errno, nanosleep(), timer_create(), timer_gettime(), timer_settime(), usleep()




Предыдущий раздел: Описание API системной библиотеки