← 질문 목록
#214깊이 0

뮤텍스와 세마포어는 무엇으로 구분하는가?

운영체제기초동시성

답변 연습

내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요

소유권과 카운트가 표현하는 뜻으로 구분한다. 뮤텍스는 임계 구역을 보호한 스레드가 소유자가 된다. 세마포어는 남은 허가 수나 이벤트 신호를 카운트로 나타낸다.

기준뮤텍스세마포어
핵심 상태잠김·잠김 해제0에서 N까지의 카운트
해제획득한 스레드가 해제다른 스레드도 post 가능
대표 용도공유 상태의 불변식 보호동시 사용량 제한·작업 완료 알림

예를 들어 잔액을 갱신하는 코드는 읽기와 쓰기 사이의 불변식을 지켜야 하므로 뮤텍스와 맞다. 커넥션 풀은 동시에 내줄 수 있는 커넥션 수를 세마포어로 표현할 수 있다.

카운트를 1로 둔 바이너리 세마포어도 한 번에 하나만 통과시킨다. 그래도 소유권이 없고 다른 스레드가 신호할 수 있어 뮤텍스와 같은 도구는 아니다. 상호 배제, 용량 제한, 순서 알림 중 무엇을 표현하려는지로 고른다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

뮤텍스와 세마포어는 무엇으로 구분하는가?