본문 바로가기
컴퓨터/Linux

리눅스 mutex 프로그래밍

by Begi 2021. 10. 1.
반응형

리눅스에서 뮤텍스(mutex)는 다음과 같이 사용한다.

 

#include <pthread.h>

 

// mutex 선언

pthread_mutex_t mutex;

 

// mutex 초기화
pthread_mutex_init(&mutex,NULL);

 

// mutex 해제
pthread_mutex_destroy(&mutex);

//  mutex lock
pthread_mutex_lock(&mutex);

 

// mutex unlock

pthread_mutex_unlock(&mutex);

mutex를 선언하고 초기화한후 lock이 필요한 지점에서 pthread_mutex_lock을 실행하고 빠져나올 때는 pthread_mutex_unlock을 실행한다.

 

pthread_mutex_lock을 실행했을 때 다른 쓰레드가 lock하고 있으면 다른 쓰레드가 unlock할때까지 blocking된다.

 

각 함수의 자세한 동작은 여기에서 확인한다.

 

반응형

댓글