#include <pthread.h>
int pthread_create (pthread_t *thread,
const pthread_attr_t *attr,
void *(*start_routine)(void *),
void *arg);
pthread_t *thread
: 생성된 스레드의 ID가 저장될 변수의 포인터입니다.
const pthread_attr_t *attr
: 스레드의 속성을 지정하는데 사용됩니다. 기본 속성을 사용하려면 NULL
로 설정합니다.
typedef struct {
int __flags; //boolean, detached or joinable 여부
size_t __stacksize; //thread 에서 사용할 stack size
void *__stackaddr; //thread 에서 사용할 stack address
void (*__exitfunc)(void *status); //thread 종료 핸들러
int __policy; //schedule policy
struct sched_param __param; //schedule param
unsigned __guardsize; // stack guard size
} pthread_attr_t;
void *(*start_routine)(void *)
: 스레드가 시작될 때 실행할 함수의 포인터입니다.
void *arg
: start_routine
함수에 전달할 인자입니다.
void pthread_exit(void *retval);
void *retval
: 스레드가 종료될 때 반환할 값입니다. pthread_join
에서 이 값을 사용할 수 있습니다.int pthread_join(pthread_t thread, void **retval);
pthread_t thread
: 기다릴 스레드의 ID입니다.void **retval
: 종료된 스레드의 반환 값을 저장할 포인터입니다. 반환 값을 무시하려면 NULL
로 설정할 수 있습니다.