- bullseye-backports 4.18.1-1~bpo11+1
- testing 4.18.1-1
- unstable 4.18.1-1
USLEEP(3) | Руководство программиста Linux | USLEEP(3) |
ИМЯ¶
usleep - задерживает выполнение на определенное количество микросекунд
СИНТАКСИС¶
#include <unistd.h>
int usleep(useconds_t usec);
usleep():
- Начиная с glibc 2.12:
-
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* в версиях glibc <= 2.19: */ _BSD_SOURCE - До glibc 2.12:
- _BSD_SOURCE || _XOPEN_SOURCE >= 500
ОПИСАНИЕ¶
Функция usleep() приостанавливает выполнение вызвавшей нити на (не менее) usec микросекунд. Остановка может продлиться слегка больше при большой загруженности системы, из-за, собственно, времени обработки этого вызова или из-за неточности хода системных часов.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
При успешном выполнении usleep() возвращается 0. При ошибке возвращается -1, а в errno содержится код ошибки.
ОШИБКИ¶
АТРИБУТЫ¶
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение |
usleep() | Безвредность в нитях | MT-Safe |
СООТВЕТСТВИЕ СТАНДАРТАМ¶
4.3BSD, POSIX.1-2001. В POSIX.1-2001 эта функция объявлена устаревшей; вместо неё используйте nanosleep(2). Из POSIX.1-2008 описание usleep() было удалено.
В первоначальной реализации BSD и в glibc до версии 2.2.2 типом возвращаемого значение функции был void. В версии POSIX возвращается int, и этот прототип также используется в glibc начиная с версии 2.2.2.
Возвращаемая ошибка EINVAL определена только в SUSv2 и POSIX.1-2001.
ЗАМЕЧАНИЯ¶
Тип useconds_t является беззнаковым целым типом, способным хранить целые числа в диапазоне [0,1000000]. Программы будут иметь более высокий уровень переносимости на другие ОС, если они никогда не будут явно упоминать этот тип. Используйте
#include <unistd.h> ...
unsigned int usecs; ...
usleep(usecs);
Взаимодействие этой функции с сигналом SIGALRM и другими функциями таймера, такими как alarm(2), sleep(3), nanosleep(2), setitimer(2), timer_create(2), timer_delete(2), timer_getoverrun(2), timer_gettime(2), timer_settime(2), ualarm(3), не определено.
СМ. ТАКЖЕ¶
alarm(2), getitimer(2), nanosleep(2), select(2), setitimer(2), sleep(3), ualarm(3), time(7)
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy Ovchinnikov <dmitriyxt5@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
15 сентября 2017 г. |