I. syntax
#include <pthread.h>
int pthread_create(
pthread_t *thread,
const pthread_attr_t *attr,
void *(*start_routine)(void *),
void *arg
);
호출되는 프로세스에섯 새로운 쓰레드를 시작한다.
II. return
성공시 0, 실패시 오류 번호를 반환
III. arguments
1. pthread_t *thread: 성공적으로 함수가 호출되면 이곳에 thread ID가 저장된다. 이 인자로 넘어온 값을 통해서 pthread_join과 같은 함수를 사용할 수 있다.
2. const pthread_attr_t *attr: 스레드의 특성을 정의한다. 기본적으로 NULL을 지정한다. 만약 스레드의 속성을 지정하려고 한다면 pthread_attr_init등의 함수로 초기화해야한다.
3. void *(*start_routine)(void *): 어떤 로직을 할 지 함수 포인터를 매개변수로 받는다.
4. void *arg: start_routine에 전달될 인자를 말한다. start_routine에서 이 인자를 변환하여사용한다.
IV. execute
gcc -pthread main.c
-pthread를 링크해야 한다.
'컴퓨터 > C' 카테고리의 다른 글
C dup() (0) | 2022.11.23 |
---|---|
C pthread_detach() (0) | 2022.11.23 |
C process, thread 프로세스, 스레드 (0) | 2022.11.21 |
C exit() (0) | 2022.11.18 |
C 포인터 배열, 배열 포인터 (0) | 2022.11.10 |