Pthread 사용하기
gcc -pthread thread_example.c -o thread_example.o
-pthread 플래그로 링크해야한다.
스레드 생성하기
#include <pthread.h>
int pthread_create(pthread_t* thread, const pthread_attr_t *attr, void* (*start_routine) (void*), void* arg);
thread : 생성된 스레드 ID를 반환
attr : 새로 생성할 스레드의 속성을 지정
start_routine : 스레드가 수행할 함수
arg : 수행할 함수에 전달될 인자
스레드 종료 및 취소
void pthread_exit(void* retval);
int pthread_cancel(pthread_t thread);
스레드 조인
int pthread_join(pthread_t thread, void** retval);
thread : 조인할 thread ID
retval : 스레드가 반환환 값을 받기 위한 인자
Pthread 뮤텍스
락 생성
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
락 소유 및 해제
int pthread_mutex_lock (pthread_mutex_t* mtx);
int pthread_mutex_unlock (pthread_mutex_t* mtx);
'C++ > linux' 카테고리의 다른 글
(5) 프로세스 관리 (0) | 2022.05.11 |
---|---|
(4) 고급 입출력 readv/writev/epoll/mmap (0) | 2022.05.10 |
(3) 버퍼 입출력 (0) | 2022.05.10 |
(2) 다중 입출력 select와 poll (0) | 2022.05.10 |
(1) errno와 파일 입출력 (0) | 2022.05.10 |