ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object implements Iterable<T>

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


Class yang aman untuk thread dengan operasi seperti 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, ConcurrentModificationException tidak akan ditampilkan, tetapi iterator juga tidak akan mencerminkan konten yang diubah.

Lihat juga:

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 beberapa jenis kondisi. 

Konstruktor publik

ConditionPriorityBlockingQueue()

Membuat ConditionPriorityBlockingQueue

Elemen akan diprioritaskan dalam urutan FIFO.

ConditionPriorityBlockingQueue(Comparator<T> 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 suatu objek saat ini ada dalam antrean ini.

List<T> getCopy()

Mendapatkan salinan konten antrean.

Iterator<T> iterator()

T poll(IMatcher<T> matcher)

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

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

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

T poll(long timeout, TimeUnit unit)

Mengambil dan menghapus minimum (sebagaimana dinilai oleh elemen Comparator T yang disediakan dalam antrean.

T poll()

Mengambil dan menghapus bagian depan antrean ini.

boolean remove(T object)

Menghapus item dari antrean ini.

int size()
T take()

Mengambil dan menghapus minimum (sebagaimana dinilai oleh elemen 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 (Comparator<T> c)

Membuat ConditionPriorityBlockingQueue

Parameter
c Comparator: 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 terbatas, 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 ada 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 suatu objek saat ini ada dalam antrean ini.

Parameter
object T: objek yang akan ditemukan

Hasil
boolean true jika objek yang diberikan ada dalam antrean. false> sebaliknya.

getCopy

public List<T> getCopy ()

Mendapatkan salinan konten antrean.

Hasil
List<T>

iterator

public Iterator<T> iterator ()

Hasil
Iterator<T>

polling

public T poll (IMatcher<T> matcher)

Mengambil dan menghapus minimum (seperti yang dinilai oleh elemen 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 yang cocok minimum 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 Comparator T yang disediakan dalam antrean dengan matcher.matches(T) adalah true.

Memblokir hingga timeout waktu agar elemen tersedia.

Parameter
timeout long: jumlah waktu untuk menunggu hingga elemen tersedia

unit TimeUnit: TimeUnit waktu tunggu

matcher IMatcher: IMatcher yang akan digunakan untuk mengevaluasi elemen

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

Menampilkan
InterruptedException

polling

public T poll (long timeout, 
                TimeUnit unit)

Mengambil dan menghapus minimum (sebagaimana dinilai oleh elemen Comparator T yang disediakan dalam antrean.

Memblokir hingga timeout waktu agar elemen tersedia.

Parameter
timeout long: jumlah waktu untuk menunggu hingga elemen tersedia

unit TimeUnit: TimeUnit waktu tunggu

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

Menampilkan
InterruptedException

polling

public T poll ()

Mengambil dan menghapus bagian depan antrean ini.

Hasil
T kepala 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 yang diberikan dihapus dari antrean. false> sebaliknya.

ukuran

public int size ()

Hasil
int jumlah elemen dalam antrean

mengambil

public T take ()

Mengambil dan menghapus minimum (sebagaimana dinilai oleh elemen Comparator T yang disediakan dalam antrean.

Memblokir tanpa batas waktu agar elemen tersedia.

Hasil
T kepala 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