Spring, Java 개발자 입니다

JAVA/비동기 처리

JAVA 생산자 소비자 패턴, BlockingQueue

BlockingQueue가 사용된 코드를 보면서 가장먼저 확인해 봐야 했던 부분은 생산자 소비자 패턴이다.  (모든 경우가 위와 같은 경우가 될 수는 없지만 일반적인 구조는 위와 같은 형태) 멀티 쓰레드 환경이나 혹은 다양한 부분에서 높은 비율의 공통 사용 로직이 있다고 가정할 때 과부하를 막기위해서 어떠한 조치를 해야한다. 이 문제해결을 위해서 나온 것이 바로 생산자 소비자 패턴인데 공통적으로 수행해야 할 Task를 중심으로 작업을 생산해 내는 생산자(Producer)와 작업을 처리하는 부분인 소비자(Consumer)의 형태로 나눠서 부하를 조절하겠다는것이고 생산된 작업 Task 는 Queue라는 공통 자원을 통해 관리, 생산자와 소비자의 역할을 분리시키자는 개념이다. 분리된 생성자와 소비자는 각각의 ..

수달하나
'멀티쓰레드 큐' 태그의 글 목록