ConditionPriorityBlockingQueue
public
class
ConditionPriorityBlockingQueue
extends Object
implements
Iterable<T>
| 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 tương tự như PriorityBlockingQueue, có thể truy xuất các đối tượng thoả một điều kiện nhất định.
Quá trình lặp lại cũng an toàn cho luồng nhưng không nhất quán. 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. Nếu hàng đợi bị sửa đổi trong quá trình lặp, ConcurrentModificationException sẽ không được truyền, nhưng trình lặp 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>
Một |
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
Một giao diện để xác định xem các phần tử có đáp ứng 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(Comparator<T> c)
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ả 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ó trong hàng đợi này hay không. |
List<T>
|
getCopy()
Sao chép nội dung của hàng đợi. |
Iterator<T>
|
iterator()
|
T
|
poll(IMatcher<T> matcher)
Truy xuất và xoá giá trị tối thiểu (theo đánh giá của phần tử |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
Truy xuất và xoá giá trị tối thiểu (theo đánh giá của phần tử |
T
|
poll(long timeout, TimeUnit unit)
Truy xuất và xoá giá trị tối thiểu (theo đánh giá của phần 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á giá trị tối thiểu (theo đánh giá của 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 (Comparator<T> c)
Tạo một ConditionPriorityBlockingQueue
| Tham số | |
|---|---|
c |
Comparator: 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 phần tử được chỉ định không thể so sá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ả 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ó 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
public List<T> getCopy ()
Sao chép nội dung của hàng đợi.
| Giá trị trả về | |
|---|---|
List<T> |
|
trình lặp
public Iterator<T> iterator ()
| Giá trị trả về | |
|---|---|
Iterator<T> |
|
cuộc thăm dò ý kiến
public T poll (IMatcher<T> matcher)
Truy xuất và xoá giá trị tối thiểu (theo đánh giá của phần tử Comparator T được cung cấp trong hàng đợi mà matcher.matches(T) là true.
| Tham số | |
|---|---|
matcher |
IMatcher: IMatcher cần 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ử khớp nào |
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 (theo đánh giá của phần tử Comparator T được cung cấp trong hàng đợi mà matcher.matches(T) là true.
Chặn tối đa timeout thời gian để một phần tử có thể sử dụng.
| Tham số | |
|---|---|
timeout |
long: khoảng thời gian chờ một phần tử có sẵn |
unit |
TimeUnit: TimeUnit thời gian chờ |
matcher |
IMatcher: IMatcher cần 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ử khớp nào |
| Gửi | |
|---|---|
InterruptedException |
|
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 (theo đánh giá của phần tử Comparator T được cung cấp trong hàng đợi.
Chặn tối đa timeout thời gian để một phần tử có thể sử dụng.
| Tham số | |
|---|---|
timeout |
long: khoảng thời gian chờ một phần tử có sẵn |
unit |
TimeUnit: TimeUnit 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ử khớp nào |
| Gửi | |
|---|---|
InterruptedException |
|
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 |
đầu của 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 |
take
public T take ()
Truy xuất và xoá giá trị tối thiểu (theo đánh giá của phần tử 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ờ |
take
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 phần tử đó có sẵn.
| Tham số | |
|---|---|
matcher |
IMatcher: IMatcher cần dùng để đánh giá các phần tử |
| Giá trị trả về | |
|---|---|
T |
phần tử trùng khớp |
| Gửi | |
|---|---|
InterruptedException |
nếu bị gián đoạn trong khi chờ |