Hàng đợi ưu tiên chặn điều kiện

public class ConditionPriorityBlockingQueue
extends Object

java.lang.Object
com.android.tradefed.util.ConditionPriorityBlockingQueue<T>


Một lớp an toàn theo luồng với các hoạt động 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.

Việc lặp lại cũng an toàn theo 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 vòng lặp và bản sao đó được sử dụng làm mục tiêu lặp. Nếu hàng đợi được sửa đổi trong quá trình lặp, ERROR(/ConcurrentModificationException) sẽ không được ném ra, nhưng trình vòng lặp cũng sẽ không phản ánh nội dung đã sửa đổi.

Bản tóm tắt

Các lớp lồng nhau

class ConditionPriorityBlockingQueue.AlwaysMatch <T>

ConditionPriorityBlockingQueue.IMatcher phù hợp với bất kỳ đối tượng nào.

interface ConditionPriorityBlockingQueue.IMatcher <T>

Một giao diện để xác định xem các phần tử có khớp với một số loại điều kiện hay không.

Nhà thầu xây dựng công cộng

ConditionPriorityBlockingQueue ()

Tạo một ConditionPriorityBlockingQueue

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

ConditionPriorityBlockingQueue ( c) ConditionPriorityBlockingQueue ( c)

Tạo một ConditionPriorityBlockingQueue

Phương pháp công cộng

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ế bất kỳ đối tượng hiện có nào phù hợp với điều kiện đã cho

void clear ()

Xóa 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.

getCopy ()

Nhận một bản sao nội dung của hàng đợi.

iterator ()

T poll (long timeout, TimeUnit unit)

Truy xuất và loại bỏ mức tối thiểu (được đánh giá bởi phần tử T ERROR(/Comparator) được cung cấp trong hàng đợi.

T poll (long timeout, TimeUnit unit, IMatcher <T> matcher)

Truy xuất và loại bỏ mức tối thiểu (được đánh giá bởi phần tử T ERROR(/Comparator) được cung cấp trong hàng đợi trong đó matcher.matches(T)true .

T poll ( IMatcher <T> matcher)

Truy xuất và loại bỏ mức tối thiểu (được đánh giá bởi phần tử T ERROR(/Comparator) được cung cấp trong hàng đợi trong đó matcher.matches(T)true .

T poll ()

Lấy và loại bỏ phần đầu của hàng đợi này.

boolean remove (T object)

Xóa một mục khỏi hàng đợi này.

int size ()
T take ()

Truy xuất và loại bỏ mức tối thiểu (được đánh giá bởi phần tử T ERROR(/Comparator) được cung cấp trong hàng đợi.

T take ( IMatcher <T> matcher)

Truy xuất và xóa 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.

Nhà thầu xây dựng công cộng

Hàng đợi ưu tiên chặn điều kiện

public ConditionPriorityBlockingQueue ()

Tạo một ConditionPriorityBlockingQueue

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

Hàng đợi ưu tiên chặn điều kiện

public ConditionPriorityBlockingQueue ( c)

Tạo một ConditionPriorityBlockingQueue

Thông số
c : ERROR(/Comparator) được sử dụng để ưu tiên hàng đợi.

Phương pháp công cộng

thêm vào

public boolean add (T addedElement)

Chèn phần tử được chỉ định vào hàng đợi này. Vì hàng đợi không bị chặn nên phương thức này sẽ không bao giờ bị chặn.

Thông số
addedElement T : phần tử cần thêm

Trả lại
boolean true

Ném
ClassCastException nếu phần tử được chỉ định không thể so sánh được với các phần tử hiện có trong hàng ưu tiên theo thứ tự của hàng ưu tiên
NullPointerException nếu phần tử được chỉ định là null

thêmĐộc đáo

public T addUnique (IMatcher<T> matcher, 
                T object)

Thêm một mục vào hàng đợi này, thay thế bất kỳ đối tượng hiện có nào phù hợp với điều kiện đã cho

Thông số
matcher IMatcher : công cụ so khớp để đánh giá các đối tượng hiện có

object T : đối tượng cần thêm

Trả lại
T đối tượng được thay thế hoặc null nếu không tồn tại

thông thoáng

public void clear ()

Xóa 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.

Thông số
object T : vật cần tìm

Trả lại
boolean true nếu đối tượng đã cho được chứa trong hàng đợi. false> ngược lại.

sao chép

public  getCopy ()

Nhận một bản sao nội dung của hàng đợi.

Trả lại

trình vòng lặp

public  iterator ()

Trả lại

thăm dò ý kiến

public T poll (long timeout, 
                TimeUnit unit)

Truy xuất và loại bỏ mức tối thiểu (được đánh giá bởi phần tử T ERROR(/Comparator) đượ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.

Thông số
timeout long : khoảng thời gian chờ đợi một phần tử có sẵn

unit TimeUnit : ERROR(/TimeUnit) của thời gian chờ

Trả lại
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

thăm dò ý kiến

public T poll (long timeout, 
                TimeUnit unit, 
                IMatcher<T> matcher)

Truy xuất và loại bỏ mức tối thiểu (được đánh giá bởi phần tử T ERROR(/Comparator) được cung cấp trong hàng đợi trong đó matcher.matches(T)true .

Chặn tối đa thời gian timeout để một phần tử có sẵn.

Thông số
timeout long : khoảng thời gian chờ đợi một phần tử có sẵn

unit TimeUnit : ERROR(/TimeUnit) của thời gian chờ

matcher IMatcher : IMatcher được sử dụng để đánh giá các phần tử

Trả lại
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

thăm dò ý kiến

public T poll (IMatcher<T> matcher)

Truy xuất và loại bỏ mức tối thiểu (được đánh giá bởi phần tử T ERROR(/Comparator) được cung cấp trong hàng đợi trong đó matcher.matches(T)true .

Thông số
matcher IMatcher : IMatcher được sử dụng để đánh giá các phần tử

Trả lại
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

thăm dò ý kiến

public T poll ()

Lấy và loại bỏ phần đầu của hàng đợi này.

Trả lại
T phần đầu của hàng đợi này hoặc null nếu hàng đợi trống

di dời

public boolean remove (T object)

Xóa một mục khỏi hàng đợi này.

Thông số
object T : đối tượng cần loại bỏ

Trả lại
boolean true nếu đối tượng đã cho bị xóa khỏi hàng đợi. false> ngược lại.

kích cỡ

public int size ()

Trả lại
int số phần tử trong hàng đợi

lấy

public T take ()

Truy xuất và loại bỏ mức tối thiểu (được đánh giá bởi phần tử T ERROR(/Comparator) được cung cấp trong hàng đợi.

Chặn vô thời hạn để một phần tử có sẵn.

Trả lại
T người đứng đầu hàng đợi này

Ném
InterruptedException nếu bị gián đoạn trong khi chờ đợi

lấy

public T take (IMatcher<T> matcher)

Truy xuất và xóa 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.

Thông số
matcher IMatcher : IMatcher được sử dụng để đánh giá các phần tử

Trả lại
T phần tử phù hợp

Ném
InterruptedException nếu bị gián đoạn trong khi chờ đợi