>  기사  >  Java  >  ArrayBlockingQueue와 LinkedBlockingQueue의 차이점은 무엇입니까?

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

王林
王林앞으로
2023-08-26 11:53:08778검색

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으로 문의하시기 바랍니다. 삭제