강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

젓인님의 프로필 이미지
젓인

작성한 질문수

리눅스 IPC 프로그래밍 - 이론과 실습

Semaphore(SysV + POSIX)

counting semaphore에 대해서 질문이 있습니다

작성

·

301

0

counting semaphore가 사용되는 예를 알 수 있을까요? 너무 mutex에 집중되다보니 하나의 자원을 동시에 n명이 접근해도 되는건지가 의문이고 어떠한 경우에 사용되는지 모르겠습니다

답변 3

1

런잇(ProgCoach4U)님의 프로필 이미지
런잇(ProgCoach4U)
지식공유자

일반적인 critical section에는 counting semaphore가 적합하지 않습니다. 실제 리소스가 n개가 존재하는 경우 n개까지 허용해주는 counting semaphore를 적용한다 생각하시면 좀 더 이해가 되실까요? 예를 들어, n개의 thread가 있고, thread를 하나씩 가져다 사용한다는 개념으로 구현할 때, thread 사용 요청에 대해 n값의 counting semaphore를 이용해 동기화를 할 수 있겠네요 :)

0

젓인님의 프로필 이미지
젓인
질문자

답변 감사드립니다. 제가 잘 모르겠는데 혹시 n개까지의 동시 접근이 허용한 경우는 동기화에 문제가 있지 않나요?

0

런잇(ProgCoach4U)님의 프로필 이미지
런잇(ProgCoach4U)
지식공유자

counting semaphore는 자원이 하나만 있는 것이 아니라 n개의 자원이 있는 경우에 사용할 수 있습니다. 혹은 하나의 자원만 있는 경우에도 n개 까지의 동시 접근이 허용 가능한 경우에도 사용할 수 있습니다. 

 

젓인님의 프로필 이미지
젓인

작성한 질문수

질문하기