세마포어 vs 뮤텍스
·
프로그래밍/운영체제
프로그래밍을 한다는 사람이라면 한번쯤은 세마포어와 뮤텍스에 대해서 들어 보았을 것이다. 대충 공유자원을 관리한다는 것만 알텐데 정확히 이것들은 뭘까? 결론부터 말하자면 공유자원을 관리하는 방식의 차이다. 뮤텍스 뮤텍스(Mutex)는 상호배제(Mutual Exclusion)의 약자다. 일단 상호배제라는 것이 왜 필요한지 알아보자. 아래와 같은 프로그램을 보자. #include #include #include int num = 0; void *func(void *t) { for (int i = 0; i < 100000; i++) { num = num - 1; num = num + 1; } return NULL; } int main() { pthread_t th[10]; int the; void *result..