이름공간
변수
행위

thrd_create

cppreference.com
< c‎ | thread
<threads.h> 에 정의되어 있음.
int thrd_create( thrd_t *thr, thrd_start_t func, void *arg );

func 함수를 수행하는 새로운 쓰레드를 생성한다. 함수는 func(arg) 형태로 호출된다.

성공시, thr이 가리키는 객체는 새로 생성된 쓰레드의 식별자로 설정된다. 이 함수가 완료되면 쓰레드가 시작된다.


목차

[편집] 인자

thr - 새로운 쓰레드의 식별자를 저장할 메모리 위치를 가리키는 포인터
func - 실행할 함수
arg - 함수로 전달될 인자

[편집] 반환값

새로운 쓰레드를 무사히 생성하면 thrd_success를 반환한다. 메모리가 충분치 않았을 경우 thrd_nomem를, 기타 오류가 발생하면 thrd_error를 반환한다.

[편집] 노트

끝나서 합쳐지거나 분리된 쓰레드의 식별자는 새로운 쓰레드의 식별자로 재사용될 수 있다.

thrd_start_tint(*)(void*)의 typedef 형이다. 이는 POSIX 의 void*(*)(void*)와는 다른 형이다.

모든 쓰레드 관련 저장값들은 NULL로 초기화된다.( tss_create 참고)

func의 반환값은 func의 반환값에 동일한 인자를 가지고 thrd_exit를 호출하는 것과 동일하다.

[편집] 참고자료

틀:ref std c11

  • 7.26.5.1 The thrd_create function (p: 383)

</div>

[편집] 같이 보기

detaches a thread
(function) [edit]
blocks until a thread terminates
(function) [edit]