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.

Tóm tắt

Lớp lồng ghép

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

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

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 ConditionPriorityBlockingQueue

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

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

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

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

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ử ERROR(/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 có phần tử như vậy.

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

public  getCopy ()

Lấy bản sao nội dung của hàng đợi.

Giá trị trả về

trình lặp

public  iterator ()

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