Главная    Разработка ПО    функции языка Си

Описание функций языка Си

" S "

scalb,scalbf,scalbl 

scalbln,scalblnf,scalblnl 

scalbn,scalbnf,scalbnl 

setbuf 

setvbuf 

signbit 

sin,sinf,sinl 

sincos,sincosf,sincosl 

sinh,sinhf,sinhl 

sleep 

sqrt,sqrtf,sqrtl 

strcasestr 

strcat 

strchr 

strchrnul 

strcmp 

strcpy 

strcspn 

strdup 

strerror 

strftime 

strlen 

strncat 

strndup 

strncmp 

strncpy 

strpbrk 

strrchr 

strspn 

strstr 

strtod 

strtok 

All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

sleep – приостановка работы потока

Синтаксис:

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

Аргументы:

unsigned int sec – время задержки в секундах

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

Если истекло время задержки, указанное в аргументе функции, то возвращается 0.

Если задержка была по каким либо причинам прервана (например, поступил сигнал и была вызвана функция обработки сигналов) то возвращается время в секундах оставшееся до окончания задержки.

Описание:

Функция sleep приостанавливает работу потока, в котором она была вызвана, на указанное в аргументе время или до поступления сигнала по которому вызывается функция обработки сигналов или программа завершает свою работу.

Продолжительность остановки потока управления указывается в секунду и не может быть меньше указанного времени, если остановка не была прервана сигналом. Однако время приостановки может быть больше, указанного времени из-за накладных расходов или если в момент окончания приостановки работал более приоритетный поток.

Приостановка потока с помощью функции sleep () не оказывает влияния на обработку сигналов

Пример:

В примере с помощью функции sleep () приостанавливается работа программы на одну секунду пять раз.


#include < stdio.h >   //Для printf  и puts 
#include < unistd.h >  //Для sleep

int main (void)
{    
   int MyTik=0; //Счетчик приостановок работы
     
   //Вывод сообщения о приостановке работы
   puts (“Остановка работы на 5 секунд”);
   //Цикл на пять тактов
   while (MyTik<5)  
   {    
      //Вывод оставшегося времени до возобновления работы
      printf (“     Осталось %d сек.\n”,5-MyTik);
      //Приостановка работы на 1 секунду
      sleep (1);
      //Увеличение на 1 счетчика приостановок
      MyTik++;
   }
   //Вывод сообщения о возобновлении работы
   puts (“Работа возобновлена”);

   return 0;
}

Результат:

Остановка работы на 5 секунд: Осталось 5 сек. Осталось 4 сек. Осталось 3 сек. Осталось 2 сек. Осталось 1 сек. Работа возобновлена



Смотри так же:

sleep, nanosleep, usleep.


Яндекс.Метрика

Рейтинг@Mail.ru