C++/linux

(6) Pthread 쓰레드 / PMutex 뮤텍스

로파이 2022. 5. 12. 15:37

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