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.

Tóm tắt

Lớp lồng ghép

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

Một ConditionPriorityBlockingQueue.IMatcher khớp với mọi đối tượng. 

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 ConditionPriorityBlockingQueue

Các phần tử sẽ được ưu tiên theo thứ tự FIFO.

ConditionPriorityBlockingQueue(Comparator<T> c)

Tạo một ConditionPriorityBlockingQueue

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ử Comparator T được cung cấp trong hàng đợi mà matcher.matches(T)true.

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)true.

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.

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ử Comparator T được cung cấp trong hàng đợi.

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)true, chờ nếu cần cho đến khi phần tử đó có sẵn.

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)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)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)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ờ