ConditionPriorityBlockingQueue
public
class
ConditionPriorityBlockingQueue
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.ConditionPriorityBlockingQueue<T> |
Một lớp an toàn cho luồng có các thao tác giống như ERROR(/PriorityBlockingQueue)
có thể truy xuất các đối tượng khớp với một điều kiện nhất định.
Lặp lại cũng an toàn cho luồng nhưng không nhất quán. Một bản sao của hàng đợi được tạo tại thời điểm tạo trình lặp và bản sao đó được dùng làm mục tiêu lặp lại. Nếu hàng đợi được sửa đổi trong quá trình lặp lại, ERROR(/ConcurrentModificationException)
sẽ không được gửi, nhưng trình lặp lại cũng sẽ không phản ánh nội dung đã sửa đổi.
Xem thêm:
Tóm tắt
Lớp lồng ghép | |
---|---|
class |
ConditionPriorityBlockingQueue.AlwaysMatch<T>
|
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
Giao diện để xác định xem các phần tử có khớp với một số điều kiện hay không. |
Hàm khởi tạo công khai | |
---|---|
ConditionPriorityBlockingQueue()
Tạo một Các phần tử sẽ được ưu tiên theo thứ tự FIFO. |
|
ConditionPriorityBlockingQueue(
Tạo một |
Phương thức công khai | |
---|---|
boolean
|
add(T addedElement)
Chèn phần tử đã chỉ định vào hàng đợi này. |
T
|
addUnique(IMatcher<T> matcher, T object)
Thêm một mục vào hàng đợi này, thay thế mọi đối tượng hiện có khớp với điều kiện đã cho |
void
|
clear()
Xoá tất cả phần tử khỏi hàng đợi này. |
boolean
|
contains(T object)
Xác định xem một đối tượng có hiện có trong hàng đợi này hay không. |
|
getCopy()
Lấy bản sao nội dung của hàng đợi. |
|
iterator()
|
T
|
poll(long timeout, TimeUnit unit)
Truy xuất và xoá giá trị tối thiểu (được đánh giá theo phần tử |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
Truy xuất và xoá giá trị tối thiểu (được đánh giá theo phần tử |
T
|
poll(IMatcher<T> matcher)
Truy xuất và xoá giá trị tối thiểu (được đánh giá theo phần tử |
T
|
poll()
Truy xuất và xoá đầu hàng đợi này. |
boolean
|
remove(T object)
Xoá một mục khỏi hàng đợi này. |
int
|
size()
|
T
|
take()
Truy xuất và xoá giá trị tối thiểu (được đánh giá theo phần tử |
T
|
take(IMatcher<T> matcher)
Truy xuất và xoá phần tử T đầu tiên trong hàng đợi, trong đó matcher.matches(T) là |
Hàm khởi tạo công khai
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue ()
Tạo một ConditionPriorityBlockingQueue
Các phần tử sẽ được ưu tiên theo thứ tự FIFO.
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue (c)
Tạo một ConditionPriorityBlockingQueue
Tham số | |
---|---|
c |
: ERROR(/Comparator) dùng để ưu tiên hàng đợi. |
Phương thức công khai
thêm
public boolean add (T addedElement)
Chèn phần tử đã chỉ định vào hàng đợi này. Vì hàng đợi không có giới hạn nên phương thức này sẽ không bao giờ chặn.
Tham số | |
---|---|
addedElement |
T : phần tử cần thêm |
Giá trị trả về | |
---|---|
boolean |
true |
Gửi | |
---|---|
ClassCastException |
nếu không thể so sánh phần tử được chỉ định với các phần tử hiện có trong hàng đợi ưu tiên theo thứ tự của hàng đợi ưu tiên |
NullPointerException |
nếu phần tử được chỉ định là rỗng |
addUnique
public T addUnique (IMatcher<T> matcher, T object)
Thêm một mục vào hàng đợi này, thay thế mọi đối tượng hiện có khớp với điều kiện đã cho
Tham số | |
---|---|
matcher |
IMatcher : trình so khớp để đánh giá các đối tượng hiện có |
object |
T : đối tượng cần thêm |
Giá trị trả về | |
---|---|
T |
đối tượng được thay thế hoặc null nếu không có đối tượng nào |
xóa
public void clear ()
Xoá tất cả phần tử khỏi hàng đợi này.
chứa
public boolean contains (T object)
Xác định xem một đối tượng có hiện có trong hàng đợi này hay không.
Tham số | |
---|---|
object |
T : đối tượng cần tìm |
Giá trị trả về | |
---|---|
boolean |
true nếu đối tượng đã cho có trong hàng đợi. false> nếu không. |
getCopy
publicgetCopy ()
Lấy bản sao nội dung của hàng đợi.
Giá trị trả về | |
---|---|
|
trình lặp
publiciterator ()
Giá trị trả về | |
---|---|
|
cuộc thăm dò ý kiến
public T poll (long timeout, TimeUnit unit)
Truy xuất và xoá giá trị tối thiểu (được đánh giá theo phần tử ERROR(/Comparator)
T được cung cấp trong hàng đợi.
Chặn tối đa thời gian timeout để một phần tử có sẵn.
Tham số | |
---|---|
timeout |
long : khoảng thời gian chờ một phần tử có sẵn |
unit |
TimeUnit : ERROR(/TimeUnit) của thời gian chờ |
Giá trị trả về | |
---|---|
T |
phần tử khớp tối thiểu hoặc null nếu không có phần tử nào khớp |
cuộc thăm dò ý kiến
public T poll (long timeout, TimeUnit unit, IMatcher<T> matcher)
Truy xuất và xoá giá trị tối thiểu (được đánh giá bằng phần tử ERROR(/Comparator)
T được cung cấp trong hàng đợi, trong đó matcher.matches(T) là true
.
Chặn tối đa thời gian timeout để một phần tử có sẵn.
Tham số | |
---|---|
timeout |
long : khoảng thời gian chờ một phần tử có sẵn |
unit |
TimeUnit : ERROR(/TimeUnit) của thời gian chờ |
matcher |
IMatcher : IMatcher dùng để đánh giá các phần tử |
Giá trị trả về | |
---|---|
T |
phần tử khớp tối thiểu hoặc null nếu không có phần tử nào khớp |
cuộc thăm dò ý kiến
public T poll (IMatcher<T> matcher)
Truy xuất và xoá giá trị tối thiểu (được đánh giá theo phần tử ERROR(/Comparator)
T được cung cấp trong hàng đợi, trong đó matcher.matches(T) là true
.
Tham số | |
---|---|
matcher |
IMatcher : IMatcher dùng để đánh giá các phần tử |
Giá trị trả về | |
---|---|
T |
phần tử khớp tối thiểu hoặc null nếu không có phần tử nào khớp |
cuộc thăm dò ý kiến
public T poll ()
Truy xuất và xoá đầu hàng đợi này.
Giá trị trả về | |
---|---|
T |
đầu hàng đợi này hoặc null nếu hàng đợi trống |
xoá
public boolean remove (T object)
Xoá một mục khỏi hàng đợi này.
Tham số | |
---|---|
object |
T : đối tượng cần xoá |
Giá trị trả về | |
---|---|
boolean |
true nếu đối tượng đã cho bị xoá khỏi hàng đợi. false> nếu không. |
size
public int size ()
Giá trị trả về | |
---|---|
int |
số lượng phần tử trong hàng đợi |
lấy
public T take ()
Truy xuất và xoá giá trị tối thiểu (được đánh giá theo phần tử ERROR(/Comparator)
T được cung cấp trong hàng đợi.
Chặn vô thời hạn để một phần tử có thể sử dụng được.
Giá trị trả về | |
---|---|
T |
đầu của hàng đợi này |
Gửi | |
---|---|
InterruptedException |
nếu bị gián đoạn trong khi chờ |
lấy
public T take (IMatcher<T> matcher)
Truy xuất và xoá phần tử T đầu tiên trong hàng đợi, trong đó matcher.matches(T) là true
, chờ nếu cần cho đến khi có phần tử như vậy.
Tham số | |
---|---|
matcher |
IMatcher : IMatcher dùng để đánh giá các phần tử |
Giá trị trả về | |
---|---|
T |
phần tử được so khớp |
Gửi | |
---|---|
InterruptedException |
nếu bị gián đoạn trong khi chờ |