[java] 자바 큐 인터페이스의 활용 사례
자바에서 큐(Queue)는 FIFO(First-In-First-Out) 데이터 구조를 나타내는 인터페이스입니다. 여기에는 어떤 상황에서 큐를 사용할 수 있는지 살펴보겠습니다.
주문 처리 시스템
온라인 주문 처리 시스템에서 고객 주문은 큐에 추가됩니다. 새로운 주문은 큐의 끝에 추가되고, 주문 처리가 완료되면 큐의 처음에서 제거됩니다. 이를 통해 주문이 먼저 들어온 순서대로 처리됩니다.
import java.util.Queue;
import java.util.LinkedList;
Queue<String> orderQueue = new LinkedList<>();
orderQueue.add("주문1");
orderQueue.add("주문2");
String currentOrder = orderQueue.poll(); // 큐의 첫 번째 주문을 처리
이벤트 처리
이벤트 기반 시스템에서 발생하는 이벤트는 큐에 추가됩니다. 발생한 이벤트는 큐에서 순서대로 처리되어 시스템이 응답하게 됩니다.
import java.util.Queue;
import java.util.LinkedList;
Queue<Event> eventQueue = new LinkedList<>();
void handleEvent(Event event) {
eventQueue.add(event);
}
void processEvents() {
while (!eventQueue.isEmpty()) {
Event event = eventQueue.poll();
// 이벤트 처리 로직
}
}