writer and reader
- 최초 등록일
- 2010.12.22
- 최종 저작일
- 2009.04
- 4페이지/ 한컴오피스
- 가격 1,000원
소개글
데이터 베이스에 접근 문제. 많은 프로세스들이 데이터베이스를 판독하거나 기록하는 시스템에서 다중 프로세스들이 동시에 읽을 수는 있지만 한 프로세스가 데이터베이스에 기록하고 있으면 다른 어떤 프로세스는 물론 판독자조차도 데이터베이스에 접근할 수 없다.
판독자가 데이터베이스를 사용하는 동안 다른 판독자가 도착한다. 동시에 두 판독자가 있는 것은 문제가 되지 않음으로 이 판독자도 판독이 허용된다. 세 번째 그리고 연이어 나타나는 판독자도 마찬가지이다. 지금 기록자가 온다고 가정하자. 기록자는 배타적으로 접근해야 하므로 데이터베이스에 접근이 허용되지 않고 블록된다. 계속하여 판독자가 나타나서 적어도 한 판독자라도 수행중이면 이때 나타난 판독자는 접근이 허용되기 때문에 기록자는 계속 블록된 상태이다. 예로 2초 간격으로 도착하면 5초 동안 접근한다면, 기록자는 결코 허용되지 않을 것이다.
이와 같은 상황을 막기 위하여 한 판독자가 도착하고 한 기록자가 기다리고 있을 때, 판독자는 즉각 허용되는 대신에 기록자 뒤에서 블록된다. 이 방법에서 기록자는 활성화되어 있는 판독자가 끝날 때까지 기다려야 하니 이후에 도착한 판독자를 위하여 기다리지 않는다. 하지만 이 해결책의 단점은 병행성이 떨어지고 성능도 저하된다는 점이다.
컴파일 실행환경
baci
참고 자료
없음