ConditionPriorityBlockingQueue
public
class
ConditionPriorityBlockingQueue
extends Object
java.lang.Object의 클래스 | |
↳ | com.android.tradefed.util.ConditionPriorityBlockingQueue<T> |
객체를 검색할 수 있는 ERROR(/PriorityBlockingQueue)
와 유사한 작업이 포함된 스레드 안전 클래스
특정 조건과 일치하는 단어를 찾습니다.
반복도 스레드로부터 안전하지만 일관성이 없습니다. 반복자에서 큐 사본 생성
해당 사본이 반복 대상으로 사용됩니다. 큐가 수정되는 동안
반복하는 경우 ERROR(/ConcurrentModificationException)
이 발생하지 않지만 이터레이터는
도 수정된 콘텐츠를 반영하지 않습니다.
요약
중첩된 클래스 | |
---|---|
class |
ConditionPriorityBlockingQueue.AlwaysMatch<T>
|
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
요소가 일종의 조건과 일치하는지 확인하기 위한 인터페이스입니다. |
공개 생성자 | |
---|---|
ConditionPriorityBlockingQueue()
요소는 FIFO 순서대로 우선순위가 지정됩니다. |
|
ConditionPriorityBlockingQueue(
|
공개 메서드 | |
---|---|
boolean
|
add(T addedElement)
지정된 요소를 이 큐에 삽입합니다. |
T
|
addUnique(IMatcher<T> matcher, T object)
이 대기열에 항목을 추가하여 지정된 조건과 일치하는 기존 객체를 대체합니다. |
void
|
clear()
이 큐에서 모든 요소를 삭제합니다. |
boolean
|
contains(T object)
객체가 현재 이 큐에 포함되어 있는지 확인합니다. |
|
getCopy()
큐의 콘텐츠 사본을 가져옵니다. |
|
iterator()
|
T
|
poll(long timeout, TimeUnit unit)
(제공된 |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
(제공된 |
T
|
poll(IMatcher<T> matcher)
(제공된 |
T
|
poll()
이 큐의 헤드를 검색하고 삭제합니다. |
boolean
|
remove(T object)
이 대기열에서 항목을 삭제합니다. |
int
|
size()
|
T
|
take()
(제공된 |
T
|
take(IMatcher<T> matcher)
큐에서 matcher.matches(T)이 있는 첫 번째 요소 T를 검색하고 삭제합니다.
|
공개 생성자
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue ()
ConditionPriorityBlockingQueue
를 만듭니다.
요소는 FIFO 순서대로 우선순위가 지정됩니다.
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue (c)
ConditionPriorityBlockingQueue
를 만듭니다.
매개변수 | |
---|---|
c |
: 큐의 우선순위를 지정하는 데 사용되는 ERROR(/Comparator) 입니다. |
공개 메서드
추가
public boolean add (T addedElement)
지정된 요소를 이 큐에 삽입합니다. 큐가 제한되지 않으므로 이 메서드는 절대 차단되지 않습니다.
매개변수 | |
---|---|
addedElement |
T : 추가할 요소입니다. |
반환 값 | |
---|---|
boolean |
true |
생성 값 | |
---|---|
ClassCastException |
지정된 요소를 요소와 비교할 수 없는 경우 우선순위 큐의 순서에 따라 현재 우선순위 큐에 있는 |
NullPointerException |
지정된 요소가 null인 경우 |
고유 추가
public T addUnique (IMatcher<T> matcher, T object)
이 대기열에 항목을 추가하여 지정된 조건과 일치하는 기존 객체를 대체합니다.
매개변수 | |
---|---|
matcher |
IMatcher : 기존 객체를 평가하는 매처입니다. |
object |
T : 추가할 객체 |
반환 값 | |
---|---|
T |
대체된 객체 또는 null (없는 경우) |
지우기
public void clear ()
이 큐에서 모든 요소를 삭제합니다.
포함
public boolean contains (T object)
객체가 현재 이 큐에 포함되어 있는지 확인합니다.
매개변수 | |
---|---|
object |
T : 찾을 객체 |
반환 값 | |
---|---|
boolean |
true : 지정된 객체가 큐에 포함되어 있는 경우 false>
없습니다. |
getCopy
publicgetCopy ()
큐의 콘텐츠 사본을 가져옵니다.
반환 값 | |
---|---|
|
반복자
publiciterator ()
반환 값 | |
---|---|
|
설문조사
public T poll (long timeout, TimeUnit unit)
(제공된 ERROR(/Comparator)
요소 T로 판단된) 최솟값을 검색하고 삭제합니다.
할 수 있습니다.
요소를 사용할 수 있게 될 때까지 최대 timeout번 차단합니다.
매개변수 | |
---|---|
timeout |
long : 요소를 사용할 수 있을 때까지 기다리는 시간입니다. |
unit |
TimeUnit : 제한 시간의 ERROR(/TimeUnit) |
반환 값 | |
---|---|
T |
최소 일치 요소 또는 null (일치하는 요소가 없는 경우) |
설문조사
public T poll (long timeout, TimeUnit unit, IMatcher<T> matcher)
(제공된 ERROR(/Comparator)
요소 T로 판단된) 최솟값을 검색하고 삭제합니다.
matcher.matches(T)가 true
인 큐입니다.
요소를 사용할 수 있게 될 때까지 최대 timeout번 차단합니다.
매개변수 | |
---|---|
timeout |
long : 요소를 사용할 수 있을 때까지 기다리는 시간입니다. |
unit |
TimeUnit : 제한 시간의 ERROR(/TimeUnit) |
matcher |
IMatcher : 요소를 평가하는 데 사용할 IMatcher 입니다. |
반환 값 | |
---|---|
T |
최소 일치 요소 또는 null (일치하는 요소가 없는 경우) |
설문조사
public T poll (IMatcher<T> matcher)
(제공된 ERROR(/Comparator)
요소 T로 판단된) 최솟값을 검색하고 삭제합니다.
matcher.matches(T)가 true
인 큐입니다.
매개변수 | |
---|---|
matcher |
IMatcher : 요소를 평가하는 데 사용할 IMatcher 입니다. |
반환 값 | |
---|---|
T |
최소 일치 요소 또는 null (일치하는 요소가 없는 경우) |
설문조사
public T poll ()
이 큐의 헤드를 검색하고 삭제합니다.
반환 값 | |
---|---|
T |
이 큐의 헤드 또는 큐가 비어 있는 경우 null |
삭제
public boolean remove (T object)
이 대기열에서 항목을 삭제합니다.
매개변수 | |
---|---|
object |
T : 삭제할 객체 |
반환 값 | |
---|---|
boolean |
지정된 객체가 큐에서 삭제된 경우 true 입니다. false>
없습니다. |
크기
public int size ()
반환 값 | |
---|---|
int |
큐의 요소 수 |
데리고 가다
public T take ()
(제공된 ERROR(/Comparator)
요소 T로 판단된) 최솟값을 검색하고 삭제합니다.
할 수 있습니다.
요소를 사용할 수 있게 될 때까지 무기한 차단합니다.
반환 값 | |
---|---|
T |
이 대기열의 헤드 |
생성 값 | |
---|---|
InterruptedException |
대기 중에 중단되는 경우 |