나는 여러 리더/단일 작가의 뮤텍스를 구현하는 부스트 :: shared_mutex를 사용하는 것을 시도하고있다. 제 질문은 상당히 간단합니다. 다른 스레드가 shared_mutex를 쓰기 위해 잠글려고 할 때 스레드가 shared_mutex에 대한 독자 액세스 권한을 얻을 수 있습니까? 예를 들어, 나는부스트 :: shared_mutex 다중 리더/단일 작가 뮤텍스
- 스레드 (1)가 그 shared_mutex에 shared_lock을 가지고 있으며, 스레드 2가 shared_mutex에 shared_lock을 가지고 읽으려고
- 무언가를 읽으려고 10 개 스레드, 쓸 수 있습니다 그 중 하나를 가지고 뭔가
- 스레드 3은 shared_mutex에 unique_lock을 가지고 있으며, 스레드 4가 shared_mutex에 shared_lock을 가지고 있으며, 무언가를 읽으려고
- 뭔가를 쓰려고
- 스레드 (5)는 shared_mutex에 shared_lock을 가지고 있으며, 무언가를 읽으려고 shared_mutex 현재 스레드 2에 의해 잠겨 공유
, 내 질문은 스레드 4가 읽기 액세스 권한을 얻을 수있는 가능성이 있는지 여부입니다 해당 shared_mutex 전에 스레드 3 쓸 수 있습니까? 리더/라이터 뮤텍스가 기아 상황에 처해질 수 있습니까 (예 : 100 독자 v.s. 1 명의 작가?
감사합니다.
중복 : http://stackoverflow.com/questions/4203467/multiple-readers-single-writer-locks-in-boost –
및 여기 : http://stackoverflow.com/questions/989795/example-for- boost-shared-mutex-multiple-reads-one-write –
관련이 있지만 중복은 아닙니다. – Thomas