프로그래밍을 하다 보면 동기화 문제에 항상 신경을 쓰게된다.
동기화 방법 중 뮤택스(Mutex)를 이용한 동기화 방법에 대해 설명한다.
설명 |
윈도우 함수명 |
리눅스개열 함수명 |
생성 |
CreateMutex |
pthread_mutex_init |
제거 |
CloseHandle |
pthread_mutex_destory |
잠금 |
WaitForSingleObject(hMutex, INFINITE); |
pthread_mutex_lock |
잠금시도 |
WaitForSingleObject(hMutex, 0); |
pthread_mutex_trylock |
해제 |
ReleaseMutex |
pthread_mutex_unlock |
윈도우 함수를 기준으로 사용법은..
1. HANDLE hMutex = CreateMutex( NULL, FALSE, NULL );
2. WaitForSingleObject(hMutex, INFINITE);
3. 동기화에 필요한 행동
4. ReleaseMutex( hMutex );
5. 종료할 때 CloseHandle( hMutex );