자바 - 블로킹 큐

각 블록 큐 구현 클래스

범주 설명
ArrayBlockingQueue를 구조체 배열 큐 차단 경계
LinkedBlockingQueue 등 링크 된리스트 구조는 블록 큐 (기본 용량에 Integer.MAX_VALUE)을 경계로 이루어지는
인 PriorityBlockingQueue 바운드 형식 블록 큐의 지원 우선 순위
DelayQueue를 지연 우선 순위 큐 바운드 형식 블록 큐를 사용하여 구현
SynchronousQueue는 큐 요소 블록킹 저장되어 있지 않은, 즉, 단일 소자 큐
큐 링크 전송 바운드 블록 큐 이루어진리스트 구조
LinkedBlockingQueue 등 양방향 큐으로 이루어진 연결리스트 구조에 의해 차단

사용 블록 큐

방법 유형 예외를 던져 특수한 값 나막신 시간 제한
삽입 추가 (예) 제공 (예) 풋 (예) 제공 (예, 시간 단위)
제거 없애다() 투표() 갖다() 폴 (시간 단위)
검사 요소() 몰래 엿보다() 없는 없는
예외를 던져 큐 전체 : 블로킹 큐가 가득 차면 요소를 삽입 한 후 더 추가 큐는 IllegalStateException이가 발생합니다
블로킹 큐가 비어있을 때, NoSuchElementException이 발생합니다 큐 삭제 삭제 요소에 가서
특수한 값 삽입 방법, 성공 허위 사실 실패
제거 방법, 성공적인 복귀 요소 큐, 아니 반환 큐 널 (null)이 없다
차단되었습니다 블로킹 큐가 가득 찬 경우, 생산자가 큐의 내부 요소를 넣고 계속 큐는 풋 데이터까지 또는 중단에 응답하여 차단된다.
소비자가 큐의 요소를 가지고하려고 할 때 큐가 비어 차단하면 큐가 사용 가능한 요소 중 큐 소비자 스레드까지 차단 된 상태로 유지됩니다.
제한 시간 종료 블로킹 큐가 가득 차면 큐는 생산자 스레드가 제한 후 종료됩니다보다 더, 생산자 스레드를 일정 시간 차단합니다.

추천

출처www.cnblogs.com/cjunn/p/12232536.html