ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object implements Iterable<T>

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


Belirli bir koşulu karşılayan nesneleri alabilen, PriorityBlockingQueue benzeri işlemlere sahip iş parçacığı açısından güvenli bir sınıf.

Yineleme de iş parçacığı açısından güvenlidir ancak tutarlı değildir. Yineleyici oluşturma sırasında kuyruğun bir kopyası oluşturulur ve bu kopya, yineleme hedefi olarak kullanılır. Yineleme sırasında sıra değiştirilirse ConcurrentModificationException oluşturulmaz ancak yineleyici, değiştirilen içerikleri de yansıtmaz.

Ayrıca bkz.:

Özet

İç içe yerleştirilmiş sınıflar

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

Herhangi bir nesneyle eşleşen ConditionPriorityBlockingQueue.IMatcher  

interface ConditionPriorityBlockingQueue.IMatcher<T>

Öğelerin belirli bir koşulla eşleşip eşleşmediğini belirlemeye yönelik bir arayüz. 

Herkese açık oluşturucular

ConditionPriorityBlockingQueue()

ConditionPriorityBlockingQueue oluşturur.

Öğeler, ilk gelen ilk hizmet alır (FIFO) sırasına göre önceliklendirilir.

ConditionPriorityBlockingQueue(Comparator<T> c)

ConditionPriorityBlockingQueue oluşturur.

Herkese açık yöntemler

boolean add(T addedElement)

Belirtilen öğeyi bu sıraya ekler.

T addUnique(IMatcher<T> matcher, T object)

Bu sıraya bir öğe ekler ve verilen koşula uyan mevcut nesneleri değiştirir.

void clear()

Bu sıradaki tüm öğeleri kaldırır.

boolean contains(T object)

Bir nesnenin şu anda bu kuyrukta olup olmadığını belirler.

List<T> getCopy()

Kuyruğun içeriğinin bir kopyasını alın.

Iterator<T> iterator()

T poll(IMatcher<T> matcher)

Comparator öğesi T'nin sağlandığı kuyrukta matcher.matches(T), true olarak değerlendirilen minimum değeri alır ve kaldırır.

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

matcher.matches(T) öğesinin true olduğu kuyrukta, sağlanan Comparator öğesi T ile belirlenen minimum değeri alır ve kaldırır.

T poll(long timeout, TimeUnit unit)

Kuyrukta sağlanan Comparator öğesi T ile belirlenen minimum değeri alır ve kaldırır.

T poll()

Bu kuyruğun başını alır ve kaldırır.

boolean remove(T object)

Bu sıradan bir öğeyi kaldırır.

int size()
T take()

Kuyrukta sağlanan Comparator öğesi T ile belirlenen minimum değeri alır ve kaldırır.

T take(IMatcher<T> matcher)

Kuyruktaki ilk öğe T'yi alır ve kaldırır. Burada matcher.matches(T), true'dir. Gerekirse böyle bir öğe kullanılabilir hale gelene kadar bekler.

Herkese açık oluşturucular

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

ConditionPriorityBlockingQueue oluşturur.

Öğeler, ilk gelen ilk hizmet alır (FIFO) sırasına göre önceliklendirilir.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue (Comparator<T> c)

ConditionPriorityBlockingQueue oluşturur.

Parametreler
c Comparator: sıraya öncelik vermek için kullanılan Comparator.

Herkese açık yöntemler

add

public boolean add (T addedElement)

Belirtilen öğeyi bu sıraya ekler. Kuyruk sınırsız olduğundan bu yöntem hiçbir zaman engellenmez.

Parametreler
addedElement T: Eklenecek öğe

İadeler
boolean true

Verdiği hatalar
ClassCastException belirtilen öğe, öncelik sırasının sıralamasına göre şu anda öncelik sırasındaki öğelerle karşılaştırılamıyorsa
NullPointerException belirtilen öğe null ise

addUnique

public T addUnique (IMatcher<T> matcher, 
                T object)

Bu sıraya bir öğe ekler ve verilen koşula uyan mevcut nesneleri değiştirir.

Parametreler
matcher IMatcher: Mevcut nesneleri değerlendirecek eşleştirici

object T: eklenecek nesne

İadeler
T Değiştirilen nesne veya yoksa null

sil

public void clear ()

Bu sıradaki tüm öğeleri kaldırır.

şunu içerir:

public boolean contains (T object)

Bir nesnenin şu anda bu kuyrukta olup olmadığını belirler.

Parametreler
object T: Bulunacak nesne

İadeler
boolean Verilen nesne sıraya eklenmişse true. false> aksi takdirde.

getCopy

public List<T> getCopy ()

Kuyruğun içeriğinin bir kopyasını alın.

İadeler
List<T>

iterator

public Iterator<T> iterator ()

İadeler
Iterator<T>

anket

public T poll (IMatcher<T> matcher)

matcher.matches(T) öğesinin true olduğu kuyrukta, sağlanan Comparator öğesi T ile belirlenen minimum değeri alır ve kaldırır.

Parametreler
matcher IMatcher: Öğeleri değerlendirmek için kullanılacak IMatcher

İadeler
T eşleşen minimum öğe veya eşleşen öğe yoksa null

anket

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

matcher.matches(T) öğesinin true olduğu kuyrukta, sağlanan Comparator öğesi T ile belirlenen minimum değeri alır ve kaldırır.

Bir öğenin kullanılabilir hale gelmesi için timeout süreye kadar engeller.

Parametreler
timeout long: Bir öğenin kullanılabilir hale gelmesini beklemek için gereken süre

unit TimeUnit: zaman aşımının TimeUnit

matcher IMatcher: Öğeleri değerlendirmek için kullanılacak IMatcher

İadeler
T eşleşen minimum öğe veya eşleşen öğe yoksa null

Verdiği hatalar
InterruptedException

anket

public T poll (long timeout, 
                TimeUnit unit)

Kuyrukta sağlanan Comparator öğesi T ile belirlenen minimum değeri alır ve kaldırır.

Bir öğenin kullanılabilir hale gelmesi için timeout süreye kadar engeller.

Parametreler
timeout long: Bir öğenin kullanılabilir hale gelmesini beklemek için gereken süre

unit TimeUnit: zaman aşımının TimeUnit

İadeler
T eşleşen minimum öğe veya eşleşen öğe yoksa null

Verdiği hatalar
InterruptedException

anket

public T poll ()

Bu kuyruğun başını alır ve kaldırır.

İadeler
T Bu sıranın başı veya sıra boşsa null

remove

public boolean remove (T object)

Bu sıradan bir öğeyi kaldırır.

Parametreler
object T: Kaldırılacak nesne

İadeler
boolean true, verilen nesne sıradan kaldırıldıysa. false> aksi takdirde.

beden

public int size ()

İadeler
int kuyruktaki öğe sayısı

çekim

public T take ()

Kuyrukta sağlanan Comparator öğesi T ile belirlenen minimum değeri alır ve kaldırır.

Bir öğenin kullanılabilir hale gelmesi için süresiz olarak engeller.

İadeler
T bu sıranın başı

Verdiği hatalar
InterruptedException Beklerken kesintiye uğrarsa

çekim

public T take (IMatcher<T> matcher)

Kuyruktaki ilk öğe T'yi alır ve kaldırır. Burada matcher.matches(T), true'dir. Gerekirse böyle bir öğe kullanılabilir hale gelene kadar bekler.

Parametreler
matcher IMatcher: Öğeleri değerlendirmek için kullanılacak IMatcher

İadeler
T eşleşen öğe

Verdiği hatalar
InterruptedException Beklerken kesintiye uğrarsa