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) T الموجود في قائمة الانتظار.

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

يسترد ويزيل الحد الأدنى (كما يتم الحكم عليه من خلال عنصر ERROR(/Comparator) T الموجود في قائمة الانتظار حيث يكون matcher.matches(T) true .

T poll ( IMatcher <T> matcher)

يسترد ويزيل الحد الأدنى (كما يتم الحكم عليه من خلال عنصر ERROR(/Comparator) T الموجود في قائمة الانتظار حيث يكون matcher.matches(T) true .

T poll ()

استرداد وإزالة رأس قائمة الانتظار هذه.

boolean remove (T object)

إزالة عنصر من قائمة الانتظار هذه.

int size ()
T take ()

يسترد ويزيل الحد الأدنى (كما يتم الحكم عليه من خلال عنصر ERROR(/Comparator) T الموجود في قائمة الانتظار.

T take ( IMatcher <T> matcher)

يسترد ويزيل العنصر الأول T في قائمة الانتظار حيث يكون matcher.matches(T) true ، وينتظر إذا لزم الأمر حتى يصبح هذا العنصر متاحًا.

المقاولين العامة

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ()

إنشاء ConditionPriorityBlockingQueue

سيتم تحديد أولويات العناصر بترتيب FIFO.

ConditionPriorityBlockingQueue

public ConditionPriorityBlockingQueue ( c)

إنشاء ConditionPriorityBlockingQueue

حدود
c : ERROR(/Comparator) المستخدم لتحديد أولويات قائمة الانتظار.

الأساليب العامة

يضيف

public boolean add (T addedElement)

إدراج العنصر المحدد في قائمة الانتظار هذه. نظرًا لأن قائمة الانتظار غير محدودة، فلن يتم حظر هذه الطريقة أبدًا.

حدود
addedElement T : العنصر المراد إضافته

عائدات
boolean true

رميات
ClassCastException إذا كان لا يمكن مقارنة العنصر المحدد بالعناصر الموجودة حاليًا في قائمة انتظار الأولوية وفقًا لترتيب قائمة انتظار الأولوية
NullPointerException إذا كان العنصر المحدد فارغًا

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 true إذا كان الكائن المحدد موجودًا في قائمة الانتظار. false> وإلا.

نسخة

public  getCopy ()

الحصول على نسخة من محتويات قائمة الانتظار.

عائدات

مكرر

public  iterator ()

عائدات

تصويت

public T poll (long timeout, 
                TimeUnit unit)

يسترد ويزيل الحد الأدنى (كما يتم الحكم عليه من خلال عنصر ERROR(/Comparator) T الموجود في قائمة الانتظار.

يحظر ما يصل إلى timeout حتى يصبح العنصر متاحًا.

حدود
timeout long : مقدار الوقت الذي يجب انتظاره حتى يصبح العنصر متاحًا

unit TimeUnit : ERROR(/TimeUnit)

عائدات
T الحد الأدنى للعنصر المطابق أو null في حالة عدم وجود عناصر مطابقة

تصويت

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

يسترد ويزيل الحد الأدنى (كما يتم الحكم عليه من خلال عنصر ERROR(/Comparator) T الموجود في قائمة الانتظار حيث يكون matcher.matches(T) true .

يحظر ما يصل إلى timeout حتى يصبح العنصر متاحًا.

حدود
timeout long : مقدار الوقت الذي يجب انتظاره حتى يصبح العنصر متاحًا

unit TimeUnit : ERROR(/TimeUnit)

matcher IMatcher : IMatcher الذي سيتم استخدامه لتقييم العناصر

عائدات
T الحد الأدنى للعنصر المطابق أو null في حالة عدم وجود عناصر مطابقة

تصويت

public T poll (IMatcher<T> matcher)

يسترد ويزيل الحد الأدنى (كما يتم الحكم عليه من خلال عنصر ERROR(/Comparator) T الموجود في قائمة الانتظار حيث يكون matcher.matches(T) true .

حدود
matcher IMatcher : IMatcher الذي سيتم استخدامه لتقييم العناصر

عائدات
T الحد الأدنى للعنصر المطابق أو null في حالة عدم وجود عناصر مطابقة

تصويت

public T poll ()

استرداد وإزالة رأس قائمة الانتظار هذه.

عائدات
T رأس قائمة الانتظار هذه، أو null إذا كانت قائمة الانتظار فارغة

يزيل

public boolean remove (T object)

إزالة عنصر من قائمة الانتظار هذه.

حدود
object T : الكائن المراد إزالته

عائدات
boolean true إذا تمت إزالة كائن معين من قائمة الانتظار. false> وإلا.

مقاس

public int size ()

عائدات
int عدد العناصر في قائمة الانتظار

يأخذ

public T take ()

يسترد ويزيل الحد الأدنى (كما يتم الحكم عليه من خلال عنصر ERROR(/Comparator) T الموجود في قائمة الانتظار.

كتل إلى أجل غير مسمى حتى يصبح العنصر متاحًا.

عائدات
T رأس هذا الطابور

رميات
InterruptedException إذا انقطعت أثناء الانتظار

يأخذ

public T take (IMatcher<T> matcher)

يسترد ويزيل العنصر الأول T في قائمة الانتظار حيث يكون matcher.matches(T) true ، وينتظر إذا لزم الأمر حتى يصبح هذا العنصر متاحًا.

حدود
matcher IMatcher : IMatcher الذي سيتم استخدامه لتقييم العناصر

عائدات
T العنصر المطابق

رميات
InterruptedException إذا انقطعت أثناء الانتظار