자바 J.U.C DelayQueue: 지연 큐의 원리와 활용
DelayQueue는 자바의 동시성 유틸리티 패키지(java.util.concurrent)에 포함된 특별한 형태의 블로킹 큐 구현체입니다. 이 큐의 핵심 기능은 요소들이 정해진 지연 시간 이후에만 소비될 수 있도록 보장한다는 점입니다. 즉, 큐에 삽입된 요소는 특정 만료 시점이 되기 전까지는 소비자 스레드에 의해 가져갈 수 없습니다.
1. DelayQueue의 주요 활용 사례
DelayQueue의 ...
8월 16일 00:07에 게시됨
블로킹 큐를 활용한 생산자-소비자 패턴 구현
전통적인 wait-notify 메커니즘을 활용한 동기화는 코드를 복잡하게 만들기 쉽습니다. java.util.concurrent 패키지의 BlockingQueue 인터페이스는 이러한 동기화 문제를 간결하게 해결해 줍니다. 생산자-소비자(Producer-Consumer) 패턴의 핵심은 자원을 생성하는 생산자의 put() 호출과 자원을 소비하는 소비자의 take() 호출을 제어하는 것입니다. BlockingQueue는 큐가 ...
8월 15일 17:06에 게시됨
Java ThreadPoolExecutor 고성능 트레이락과 동시성 제어
Executor 프레임워크 핵심 메커니즘
ThreadPoolExecutor는 작업 제출과 실행을 분리하는 생산자-소비자 패턴을 구현한다. 5가지 핵심 구성요소는 다음과 같다.
corePoolSize: 유휴 상태라도 제거되지 않는 기본 스레드 수
maximumPoolSize: 부하 급증 시 확장 가능한 상한선
keepAliveTime: corePoolSize 초과 생성된 스레드의 유휴 대기 시간
workQueue: Runnable 객체 ...
7월 2일 16:54에 게시됨