Google 致力于为黑人社区推动种族平等。查看具体举措
此页面由 Cloud Translation API 翻译。
Switch to English

ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object

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


具有ERROR(/PriorityBlockingQueue)的操作的线程安全类,可以检索与特定条件匹配的对象。

迭代也是线程安全的,但不一致。在迭代器创建时创建队列的副本,并将该副本用作迭代目标。如果在迭代过程中修改了队列,则不会引发ERROR(/ConcurrentModificationException) ,但是迭代器也不会反映修改后的内容。

也可以看看:

摘要

嵌套类

class ConditionPriorityBlockingQueue.AlwaysMatch <T>

与任何对象匹配的ConditionPriorityBlockingQueue.IMatcher

interface ConditionPriorityBlockingQueue.IMatcher <T>

用于确定元素是否符合某种条件的接口。

公共建设者

ConditionPriorityBlockingQueue ()

创建一个ConditionPriorityBlockingQueue

元素将按FIFO顺序排列优先级。

ConditionPriorityBlockingQueue ( c) ConditionPriorityBlockingQueue ( c)

创建一个ConditionPriorityBlockingQueue

公开方法

boolean add (T addedElement)

将指定的元素插入此队列。

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

将项目添加到此队列,替换与给定条件匹配的所有现有对象

void clear ()

从此队列中删除所有元素。

boolean contains (T object)

确定此队列中当前是否包含对象。

getCopy ()

获取队列内容的副本。

iterator ()

T poll (long timeout, TimeUnit unit)

检索并删除队列中的最小值(由提供的ERROR(/Comparator)判断ERROR(/Comparator)

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

检索并除去matcher.matches(T)true的队列中的最小值(由提供的ERROR(/Comparator)判断matcher.matches(T)

T poll ( IMatcher <T> matcher)

检索并删除matcher.matches(T)true的队列中的最小值(由提供的ERROR(/Comparator)判断matcher.matches(T)

T poll ()

检索并删除此队列的头。

boolean remove (T object)

从此队列中删除一个项目。

int size ()
T take ()

检索并删除队列中的最小值(由提供的ERROR(/Comparator)判断ERROR(/Comparator)

T take ( IMatcher <T> matcher)

检索并删除matcher.matches(T)true的队列中的第一个元素T,如有必要,请等待直到该元素变为可用。

公共建设者

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

创建一个ConditionPriorityBlockingQueue

元素将按FIFO顺序排列优先级。

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

创建一个ConditionPriorityBlockingQueue

参量
c :用于对队列进行优先级排序的ERROR(/Comparator)

公开方法

public boolean add (T addedElement)

将指定的元素插入此队列。由于队列不受限制,因此此方法将永远不会阻塞。

参量
addedElement T :要添加的元素

退货
boolean true

投掷
ClassCastException 如果根据优先级队列的顺序无法将指定的元素与优先级队列中当前的元素进行比较
NullPointerException 如果指定的元素为null

addUnique

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

将项目添加到此队列,替换与给定条件匹配的所有现有对象

参量
matcher IMatcher :用于评估现有对象的匹配器

object T :要添加的对象

退货
T 替换的对象;如果不存在,则为null

明确

public void clear ()

从此队列中删除所有元素。

包含

public boolean contains (T object)

确定此队列中当前是否包含对象。

参量
object T :要查找的对象

退货
boolean 如果给定对象包含在队列中,则为truefalse>否则。

getCopy

public  getCopy ()

获取队列内容的副本。

退货

迭代器

public  iterator ()

退货

轮询

public T poll (long timeout, 
                TimeUnit unit)

检索并删除队列中的最小值(由提供的ERROR(/Comparator)判断ERROR(/Comparator)

阻止timeout ,直到某个元素变为可用。

参量
timeout long :等待元素可用的时间

unit TimeUnit :超时的ERROR(/TimeUnit)

退货
T 最小匹配元素;如果没有匹配元素,则为null

轮询

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

检索并删除matcher.matches(T)true的队列中的最小值(由提供的ERROR(/Comparator)判断matcher.matches(T)

阻止timeout ,直到某个元素变为可用。

参量
timeout long :等待元素可用的时间

unit TimeUnit :超时的ERROR(/TimeUnit)

matcher IMatcher :用于评估元素的IMatcher

退货
T 最小匹配元素;如果没有匹配元素,则为null

轮询

public T poll ( IMatcher <T> matcher)

检索并删除matcher.matches(T)true的队列中的最小值(由提供的ERROR(/Comparator)判断matcher.matches(T)

参量
matcher IMatcher :用于评估元素的IMatcher

退货
T 最小匹配元素;如果没有匹配元素,则为null

轮询

public T poll ()

检索并删除此队列的头。

退货
T 此队列的头;如果队列为空,则为null

去掉

public boolean remove (T object)

从此队列中删除一个项目。

参量
object T :要删除的对象

退货
boolean 如果给定对象已从队列中删除,则为truefalse>否则。

尺寸

public int size ()

退货
int 队列中的元素数

采取

public T take ()

检索并删除队列中的最小值(由提供的ERROR(/Comparator)判断ERROR(/Comparator)

无限期阻止某个元素可用。

退货
T 此队列的头

投掷
InterruptedException 如果在等待时被打断

采取

public T take ( IMatcher <T> matcher)

检索并删除matcher.matches(T)true的队列中的第一个元素T,如有必要,请等待直到该元素变为可用。

参量
matcher IMatcher :用于评估元素的IMatcher

退货
T 匹配的元素

投掷
InterruptedException 如果在等待时被打断