ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.ConditionPriorityBlockingQueue<T>


특정 조건과 일치하는 객체를 검색할 수 있는 ERROR(/PriorityBlockingQueue)와 유사한 작업이 있는 스레드 안전 클래스입니다.

반복도 스레드로부터 안전하지만 일관되지는 않습니다. 큐의 사본은 반복자 생성 시 만들어지며 이 사본은 반복 타겟으로 사용됩니다. 반복 중에 큐가 수정되면 ERROR(/ConcurrentModificationException)가 발생하지 않지만 반복자는 수정된 콘텐츠를 반영하지도 않습니다.

요약

중첩된 클래스

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

모든 객체와 일치하는 ConditionPriorityBlockingQueue.IMatcher 

interface ConditionPriorityBlockingQueue.IMatcher<T>

요소가 어떤 종류의 조건과 일치하는지 확인하기 위한 인터페이스입니다. 

공개 생성자

ConditionPriorityBlockingQueue()

ConditionPriorityBlockingQueue를 만듭니다.

요소는 FIFO 순서대로 우선순위가 지정됩니다.

ConditionPriorityBlockingQueue( c)

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)

큐에 제공된 ERROR(/Comparator) 요소 T에 따라 판단되는 최솟값을 검색하여 삭제합니다.

T poll(long timeout, TimeUnit unit, IMatcher<T> matcher)

matcher.matches(T)true인 대기열에서 제공된 ERROR(/Comparator) 요소 T에 따라 판단되는 최솟값을 검색하고 삭제합니다.

T poll(IMatcher<T> matcher)

matcher.matches(T)true인 대기열에서 제공된 ERROR(/Comparator) 요소 T에 따라 판단되는 최솟값을 검색하고 삭제합니다.

T poll()

이 대기열의 헤드를 가져와 삭제합니다.

boolean remove(T object)

이 현재 재생목록에서 항목을 삭제합니다.

int size()
T take()

큐에 제공된 ERROR(/Comparator) 요소 T에 따라 판단되는 최솟값을 검색하여 삭제합니다.

T take(IMatcher<T> matcher)

matcher.matches(T)true인 대기열에서 첫 번째 요소 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인 경우

addUnique

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

public  getCopy ()

대기열의 콘텐츠 사본을 가져옵니다.

반환 값

iterator

public  iterator ()

반환 값

설문조사

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)

matcher.matches(T)true인 대기열에서 제공된 ERROR(/Comparator) 요소 T에 따라 판단되는 최솟값을 검색하고 삭제합니다.

요소를 사용할 수 있을 때까지 최대 timeout 시간을 차단합니다.

매개변수
timeout long: 요소를 사용할 수 있을 때까지 대기하는 시간입니다.

unit TimeUnit: 제한 시간의 ERROR(/TimeUnit)입니다.

matcher IMatcher: 요소를 평가하는 데 사용할 IMatcher입니다.

반환 값
T 일치하는 요소 중 최소 요소 또는 일치하는 요소가 없는 경우 null

설문조사

public T poll (IMatcher<T> matcher)

matcher.matches(T)true인 대기열에서 제공된 ERROR(/Comparator) 요소 T에 따라 판단되는 최솟값을 검색하고 삭제합니다.

매개변수
matcher IMatcher: 요소를 평가하는 데 사용할 IMatcher입니다.

반환 값
T 일치하는 요소 중 최소 요소 또는 일치하는 요소가 없는 경우 null

설문조사

public T poll ()

이 대기열의 헤드를 검색하여 삭제합니다.

반환 값
T 이 대기열의 헤드 또는 대기열이 비어 있으면 null

삭제

public boolean remove (T object)

이 현재 재생목록에서 항목을 삭제합니다.

매개변수
object T: 삭제할 객체

반환 값
boolean 지정된 객체가 현재 재생목록에서 삭제된 경우 true입니다. 그렇지 않으면 false>입니다.

크기

public int size ()

반환 값
int 큐의 요소 수

take

public T take ()

큐에 제공된 ERROR(/Comparator) 요소 T에 따라 판단되는 최솟값을 검색하여 삭제합니다.

요소를 사용할 수 있을 때까지 무기한 차단합니다.

반환 값
T 이 대기열의 헤드

생성 값
InterruptedException 대기 중에 중단된 경우

take

public T take (IMatcher<T> matcher)

matcher.matches(T)true인 대기열에서 첫 번째 요소 T를 검색하여 삭제하고 필요한 경우 이러한 요소를 사용할 수 있을 때까지 대기합니다.

매개변수
matcher IMatcher: 요소를 평가하는 데 사용할 IMatcher입니다.

반환 값
T 일치하는 요소

생성 값
InterruptedException 대기 중에 중단된 경우