ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

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


Class thread-safe dengan operasi mirip ERROR(/PriorityBlockingQueue) yang dapat mengambil objek yang cocok dengan kondisi tertentu.

Iterasi juga aman untuk thread, tetapi tidak konsisten. Salinan antrean dibuat pada waktu pembuatan iterator, dan salinan tersebut digunakan sebagai target iterasi. Jika antrean diubah selama iterasi, ERROR(/ConcurrentModificationException) tidak akan ditampilkan, tetapi iterator juga tidak akan mencerminkan konten yang diubah.

Ringkasan

Class bertingkat

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

ConditionPriorityBlockingQueue.IMatcher yang cocok dengan objek apa pun. 

interface ConditionPriorityBlockingQueue.IMatcher<T>

Antarmuka untuk menentukan apakah elemen cocok dengan kondisi tertentu. 

Konstruktor publik

ConditionPriorityBlockingQueue()

Membuat ConditionPriorityBlockingQueue

Elemen akan diprioritaskan dalam urutan FIFO.

ConditionPriorityBlockingQueue( c)

Membuat ConditionPriorityBlockingQueue

Metode publik

boolean add(T addedElement)

Menyisipkan elemen yang ditentukan ke dalam antrean ini.

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

Menambahkan item ke antrean ini, menggantikan objek yang ada yang cocok dengan kondisi yang diberikan

void clear()

Menghapus semua elemen dari antrean ini.

boolean contains(T object)

Menentukan apakah objek saat ini ada dalam antrean ini.

getCopy()

Dapatkan salinan konten antrean.

iterator()

T poll(long timeout, TimeUnit unit)

Mengambil dan menghapus minimum (seperti yang dinilai oleh elemen ERROR(/Comparator) T yang disediakan dalam antrean.

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

Mengambil dan menghapus minimum (seperti yang dinilai oleh elemen ERROR(/Comparator) T yang disediakan dalam antrean dengan matcher.matches(T) adalah true.

T poll(IMatcher<T> matcher)

Mengambil dan menghapus minimum (seperti yang dinilai oleh elemen ERROR(/Comparator) T yang disediakan dalam antrean dengan matcher.matches(T) adalah true.

T poll()

Mengambil dan menghapus head antrean ini.

boolean remove(T object)

Menghapus item dari antrean ini.

int size()
T take()

Mengambil dan menghapus minimum (seperti yang dinilai oleh elemen ERROR(/Comparator) T yang disediakan dalam antrean.

T take(IMatcher<T> matcher)

Mengambil dan menghapus elemen pertama T dalam antrean dengan matcher.matches(T) adalah true, menunggu jika perlu hingga elemen tersebut tersedia.

Konstruktor publik

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

Membuat ConditionPriorityBlockingQueue

Elemen akan diprioritaskan dalam urutan FIFO.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

Membuat ConditionPriorityBlockingQueue

Parameter
c : ERROR(/Comparator) yang digunakan untuk memprioritaskan antrean.

Metode publik

tambahkan

public boolean add (T addedElement)

Menyisipkan elemen yang ditentukan ke dalam antrean ini. Karena antrean tidak dibatasi, metode ini tidak akan pernah diblokir.

Parameter
addedElement T: elemen yang akan ditambahkan

Hasil
boolean true

Menampilkan
ClassCastException jika elemen yang ditentukan tidak dapat dibandingkan dengan elemen yang saat ini berada dalam antrean prioritas sesuai dengan pengurutan antrean prioritas
NullPointerException jika elemen yang ditentukan adalah null

addUnique

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

Menambahkan item ke antrean ini, menggantikan objek yang ada yang cocok dengan kondisi yang diberikan

Parameter
matcher IMatcher: matcher untuk mengevaluasi objek yang ada

object T: objek yang akan ditambahkan

Hasil
T objek yang diganti atau null jika tidak ada

hapus

public void clear ()

Menghapus semua elemen dari antrean ini.

berisi

public boolean contains (T object)

Menentukan apakah objek saat ini ada dalam antrean ini.

Parameter
object T: objek yang akan ditemukan

Hasil
boolean true jika objek tertentu ada dalam antrean. false> jika tidak.

getCopy

public  getCopy ()

Dapatkan salinan konten antrean.

Hasil

iterator

public  iterator ()

Hasil

polling

public T poll (long timeout, 
                TimeUnit unit)

Mengambil dan menghapus minimum (seperti yang dinilai oleh elemen ERROR(/Comparator) T yang disediakan dalam antrean.

Memblokir hingga timeout waktu agar elemen tersedia.

Parameter
timeout long: jumlah waktu yang diperlukan untuk menunggu elemen tersedia

unit TimeUnit: ERROR(/TimeUnit) waktu tunggu

Hasil
T elemen minimum yang cocok atau null jika tidak ada elemen yang cocok

polling

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

Mengambil dan menghapus minimum (seperti yang dinilai oleh elemen ERROR(/Comparator) T yang disediakan dalam antrean dengan matcher.matches(T) adalah true.

Memblokir hingga waktu timeout agar elemen tersedia.

Parameter
timeout long: jumlah waktu yang diperlukan untuk menunggu elemen tersedia

unit TimeUnit: ERROR(/TimeUnit) waktu tunggu

matcher IMatcher: IMatcher yang akan digunakan untuk mengevaluasi elemen

Hasil
T elemen minimum yang cocok atau null jika tidak ada elemen yang cocok

polling

public T poll (IMatcher<T> matcher)

Mengambil dan menghapus minimum (seperti yang dinilai oleh elemen ERROR(/Comparator) T yang disediakan dalam antrean dengan matcher.matches(T) adalah true.

Parameter
matcher IMatcher: IMatcher yang akan digunakan untuk mengevaluasi elemen

Hasil
T elemen minimum yang cocok atau null jika tidak ada elemen yang cocok

polling

public T poll ()

Mengambil dan menghapus head antrean ini.

Hasil
T head antrean ini, atau null jika antrean kosong

hapus

public boolean remove (T object)

Menghapus item dari antrean ini.

Parameter
object T: objek yang akan dihapus

Hasil
boolean true jika objek tertentu dihapus dari antrean. false> jika tidak.

ukuran

public int size ()

Hasil
int jumlah elemen dalam antrean

mengambil

public T take ()

Mengambil dan menghapus minimum (seperti yang dinilai oleh elemen ERROR(/Comparator) T yang disediakan dalam antrean.

Memblokir tanpa batas waktu agar elemen tersedia.

Hasil
T head antrean ini

Menampilkan
InterruptedException jika terganggu saat menunggu

mengambil

public T take (IMatcher<T> matcher)

Mengambil dan menghapus elemen pertama T dalam antrean dengan matcher.matches(T) adalah true, menunggu jika perlu hingga elemen tersebut tersedia.

Parameter
matcher IMatcher: IMatcher yang akan digunakan untuk mengevaluasi elemen

Hasil
T elemen yang cocok

Menampilkan
InterruptedException jika terganggu saat menunggu