1
리더/라이터의 동기화 구현을보고 있는데 질문이 있습니다. 대기 (독자)가 상호 배제 영역 외부에서 수행됩니다 왜 내 질문입니다, 이것은 독자 코드리더/라이터 동기화 정보
start_reading(){
lock(m);
if (em_escrita || escritores_espera > 0) {
leitores_espera++;
unlock(m);
wait(readers);
lock(m);
}else
nleitores++;
unlock(m);
}
finish_reading(){
lock(m);
nleitores--;
if (nleitores == 0 && escritores_espera > 0){
post(writers);
em_escrita=TRUE;
escritores_espera--;
}
unlock(m);
}
:
이
내가 찾고 있어요 코드입니다. 그리고 왜 같은 이유로 포스트 (작가)도 밖에서하지 못했습니까?이 코드는 운영 시스템 코스에서 가져온 것이므로 정확하다는 것이 확실합니다.
누군가 내게 차이점을 말할 수 있습니까?
Thx.
영어로 코드! – Shahbaz
코드를 올바르게 들여 쓰고 OS에 대한 힌트를 주시고 글로벌 기능과 변수에 대한 선언을 보내주십시오. –