본문 바로가기

컴퓨터/C

C pthread_create()

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