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