Skip to Content
Suffering builds character

5.해결 방법

3.패턴 구현에서 제시된 문제들은 적절한 동기화 기법을 통해 해소할 수 있음

동기화 기법을 통해 적용할 부분은 다음과 같음

1. 생산자가 큐에 데이터를 적재하는 작업을 수행할 때

생산자가 큐에 데이터를 적재하는 작업을 수행하기 위해서는 다음의 단계를 따름

  1. 생산자는 데이터를 생산하기 전에 먼저 큐가 가득찼는지 확인
  2. 만약 큐가 가득 찼을 경우, 생산자는 소비자가 데이터를 소비할 때까지 대기
  3. 이후 큐에 여유 공간이 생기면 다시 적재 작업 수행

2. 소비자가 큐에서 데이터를 소비하는 작업을 수행할 때

소비자가 큐에서 데이터를 소비하는 작업을 수행하기 위해서는 다음의 단계를 따름

  1. 소비자는 데이터를 소비하기 전에 큐가 비어있는지 확인
  2. 만약 큐가 비어있을 경우, 소비자는 생산자가 데이터를 적재할 때까지 대기
  3. 이후 큐에 새로운 데이터가 적재되면 다시 소비 작업을 수행
Last updated on