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.
Lihat juga:
Ringkasan
Class bertingkat | |
---|---|
class |
ConditionPriorityBlockingQueue.AlwaysMatch<T>
|
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
Antarmuka untuk menentukan apakah elemen cocok dengan kondisi tertentu. |
Konstruktor publik | |
---|---|
ConditionPriorityBlockingQueue()
Membuat Elemen akan diprioritaskan dalam urutan FIFO. |
|
ConditionPriorityBlockingQueue(
Membuat |
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 |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
Mengambil dan menghapus minimum (seperti yang dinilai oleh elemen |
T
|
poll(IMatcher<T> matcher)
Mengambil dan menghapus minimum (seperti yang dinilai oleh elemen |
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 |
T
|
take(IMatcher<T> matcher)
Mengambil dan menghapus elemen pertama T dalam antrean dengan matcher.matches(T) adalah
|
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
publicgetCopy ()
Dapatkan salinan konten antrean.
Hasil | |
---|---|
|
iterator
publiciterator ()
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 |