> Java > java지도 시간 > ArrayBlockingQueue와 LinkedBlockingQueue의 차이점은 무엇입니까?

ArrayBlockingQueue와 LinkedBlockingQueue의 차이점은 무엇입니까?

王林
풀어 주다: 2023-08-26 11:53:08
앞으로
838명이 탐색했습니다.

ArrayBlockingQueue와 LinkedBlockingQueue의 차이점은 무엇입니까?

차단 대기열 인터페이스는 Java.util.concurrent 패키지의 일부입니다. 차단 대기열은 생산자-소비자 대기열용으로 설계되었으며 컬렉션도 지원합니다. 인터페이스는 대기열에서 모든 유형의 작업을 지원하는 메서드의 네 부분으로 나뉩니다. 빈 키는 허용되지 않습니다. ArrayBlockingQueue와 LinkedBlockingQueue는 모두 차단 대기열 인터페이스를 구현합니다

ArrayBlockingQueue와 LinkedBlockingQueue는 모두 요소를 FIFO 순서로 저장합니다. 두 큐 모두에서 요소 삽입은 항상 큐의 끝에서 발생하고 요소 삭제는 항상 큐의 헤드에서 발생합니다.

일련번호 Key ArrayBlockingQueue LinkedBlockingQueue
1

Basic

배열의 지원을 받습니다

연결 목록의 지원을 받습니다

2

Bounded

바운드 배열 큐입니다. 따라서 한번 생성되면 용량을 변경할 수 없습니다

무한 큐입니다

3

처리량

체인 큐보다 처리량이 낮습니다

배열 기반 큐보다 양이 많습니다

4.

Lock

단일 잠금 이중 조건부 알고리즘을 사용합니다.

대기열에 요소를 삽입하고 대기열에서 요소를 삽입하기 위한 putLock이 있습니다. 대기열에서 요소를 삭제하기 위해 takeLock

위 내용은 ArrayBlockingQueue와 LinkedBlockingQueue의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿