본문 바로가기

Lecture & Tip/linux programming[리눅스]

mutex!!! 쓰레드 자원 공유!!

냠 이런 기본 지식들이 나에게 돌이되는 구냥...

thread들간의 자원 공유시 deadlock & 침범 문제를 해결하기 위해 사용되는 mutex

header : <pthread.h>
initailize : pthread_mutex_t tmp = PTHREAD_MUTEX_INITIALIZER;
function :
int pthread_mutex_lock(pthread_mutex_t *mutex);
- 해당 뮤텍스에 lock을 시도한다. 만약 다른 스레드가 lock을 이미 해놓았다면 블럭됨.
int pthread_mutex_trylock(pthread_mutex_t *mutex);
- 해당 뮤텍스에 lock을 시도한다. 만약 다른 스레드가 lock을 이미 해놓았다면 블럭되지 않고 애러 발사!!
int pthread_mutex_unlock(pthread_mutex_t *mutex);
- 해당 뮤텍스를 unlock~
int pthread_mutex_destory(pthread_mutex_t *mutex);
- 뮤텍스 파괴!!

잘써보쟈공 mutex~

< 출처: joinc.co.kr >