thrd_sleep
|
헤더 파일에 정의됨
<threads.h>
|
||
|
int
thrd_sleep
(
const
struct
timespec
*
duration,
struct timespec * remaining ) ; |
(C11 이후) | |
현재 스레드의 실행을
최소한
duration
이 가리키는
TIME_UTC
기반 지속 시간이 경과할 때까지 차단합니다.
무시되지 않는
signal
이 수신되면 sleep이 더 일찍 재개될 수 있습니다. 이러한 경우,
remaining
이
NULL
이 아닐 경우, 남은 시간이
remaining
이 가리키는 객체에 저장됩니다.
목차 |
매개변수
| duration | - | 대기할 지속 시간에 대한 포인터 |
| remaining | - | 인터럽트 시 남은 시간을 저장할 객체에 대한 포인터. NULL 일 수 있으며, 이 경우 무시됨 |
반환값
0 성공적인 슬립 시, - 1 시그널 발생 시, 오류 발생 시 다른 음수 값.
참고 사항
duration
와
remaining
는 동일한 객체를 가리킬 수 있으며, 이는 시그널 이후 함수를 재실행하는 것을 단순화합니다.
실제 수면 시간은 타이머 정밀도로 반올림되며 스케줄링 및 컨텍스트 스위칭 오버헤드 때문에 요청된 시간보다 길어질 수 있습니다.
이 함수의 POSIX 동등물은
nanosleep
입니다.
예제
출력:
Time: Mon Feb 2 16:18:41 2015 Time: Mon Feb 2 16:18:42 2015
참조문헌
- C17 표준 (ISO/IEC 9899:2018):
-
- 7.26.5.7 The thrd_sleep 함수 (p: 281)
- C11 표준 (ISO/IEC 9899:2011):
-
- 7.26.5.7 The thrd_sleep 함수 (p: 385)
참고 항목
|
(C11)
|
현재 타임 슬라이스를 양보합니다
(함수) |
|
C++ documentation
for
sleep_for
|
|