면접 - 자바

개발자 면접 질문 - 블로킹과 논블로킹 큐(Blocking Queue / Non Blocking Queue) 종류

snow-line 2020. 12. 3. 20:00
반응형

1. BlockingQueue

 - Queue가 꽉 찼을 때의 삽입 시도/ 비어 있을 때의 추출시도를 막는다.

 - 구현체 모두 Thread-safe 하다

 

 1) ArrayBlockingQueue

   - 고정 배열에 일반적인 Queue를 구현한 클래스

   - 생성 후 크기 변경 불가

 

  2) LinkedBlockingQueue

   - 선택적으로 Bound가 가능한 LinkedList 로 구현한 Queue

 

  3) PriorityBlockingQueue

    - PriorityQueue와 같은 정렬 방식을 지니는 용량 제한이 없는 Queue

 

  4) SynchorousQueue

    - Queue 내부로의 insert 작업이 다른 쓰레드의 remove 작업과 반드시 동시에 일어나야 한다. 

 

2. Non Blocking Queue

 1) ConcurrentLinkedQueue

  - 큐에 꺼낼 원소가 없으면 즉시 리턴하고 다른 일을 수행한다.

반응형