thrd_create
|
헤더 파일에 정의됨
<threads.h>
|
||
|
int
thrd_create
(
thrd_t
*
thr,
thrd_start_t
func,
void
*
arg
)
;
|
(C11 이후) | |
func
함수를 실행하는 새 스레드를 생성합니다. 함수는
func
(
arg
)
형태로 호출됩니다.
성공 시,
thr
이 가리키는 객체는 새 스레드의 식별자로 설정됩니다.
이 함수의 완료는 synchronizes-with 스레드의 시작과 함께 동기화됩니다.
목차 |
매개변수
| thr | - | 새 스레드의 식별자를 저장할 메모리 위치에 대한 포인터 |
| func | - | 실행할 함수 |
| arg | - | 함수에 전달할 인수 |
반환값
thrd_success 새로운 스레드 생성이 성공한 경우. 그렇지 않으면 메모리가 부족한 경우 thrd_nomem 을 반환하거나, 다른 오류가 발생한 경우 thrd_error 을 반환합니다.
참고 사항
스레드 식별자는 스레드가 완료되고 조인(join)되거나 분리(detach)된 후 새로운 스레드에 재사용될 수 있습니다.
타입 thrd_start_t 는 int ( * ) ( void * ) 의 typedef이며, 이는 POSIX 동등물인 void * ( * ) ( void * ) 와 다릅니다.
모든 스레드별 저장소 값들( tss_create 참조)은 NULL 로 초기화됩니다.
함수
func
에서의 반환은
thrd_exit
을
func
의 반환 값과 동일한 인수로 호출하는 것과 동등합니다.
참고문헌
- C17 표준 (ISO/IEC 9899:2018):
-
- 7.26.5.1 The thrd_create 함수 (p: 279)
- C11 표준 (ISO/IEC 9899:2011):
-
- 7.26.5.1 The thrd_create 함수 (p: 383)
참고 항목
|
(C11)
|
스레드를 분리함
(함수) |
|
(C11)
|
스레드가 종료될 때까지 블록함
(함수) |
|
C++ documentation
for
thread
|
|