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)
      matcher.matches(T)이  | 
| 
        
        
        
        
        
        T | 
      poll(IMatcher<T> matcher)
      matcher.matches(T)이  | 
| 
        
        
        
        
        
        T | 
      poll()
      이 대기열의 헤드를 가져와 삭제합니다. | 
| 
        
        
        
        
        
        boolean | 
      remove(T object)
      이 현재 재생목록에서 항목을 삭제합니다. | 
| 
        
        
        
        
        
        int | 
      size()
       | 
| 
        
        
        
        
        
        T | 
      take()
      큐에 제공된  | 
| 
        
        
        
        
        
        T | 
      take(IMatcher<T> matcher)
      matcher.matches(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
publicgetCopy () 
대기열의 콘텐츠 사본을 가져옵니다.
| 반환 값 | |
|---|---|
|  | |
iterator
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)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 | 대기 중에 중단된 경우 | 
