Namespaces
Variants

thrd_create

From cppreference.net
헤더 파일에 정의됨 <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)

참고 항목

스레드를 분리함
(함수)
스레드가 종료될 때까지 블록함
(함수)