ConditionPriorityBlockingQueue
public class ConditionPriorityBlockingQueue
extends Object
java.lang.Object | |
↳ | com.android.tradefed.util.ConditionPriorityBlockingQueue<T> |
فئة آمنة لمؤشر الترابط مع عمليات تشبه ERROR(/PriorityBlockingQueue)
يمكنها استرداد الكائنات التي تطابق شرطًا معينًا.
التكرار أيضًا آمن للخيط، ولكنه غير متسق. يتم إنشاء نسخة من قائمة الانتظار في وقت إنشاء المكرر، ويتم استخدام تلك النسخة كهدف التكرار. إذا تم تعديل قائمة الانتظار أثناء التكرار، فلن يتم طرح ERROR(/ConcurrentModificationException)
، لكن المكرّر أيضًا لن يعكس المحتويات المعدلة.
أنظر أيضا:
ملخص
فصول متداخلة | |
---|---|
class | ConditionPriorityBlockingQueue.AlwaysMatch <T> |
interface | ConditionPriorityBlockingQueue.IMatcher <T> واجهة لتحديد ما إذا كانت العناصر تتطابق مع نوع ما من الشروط. |
المقاولين العامة | |
---|---|
ConditionPriorityBlockingQueue () إنشاء سيتم تحديد أولويات العناصر بترتيب FIFO. | |
ConditionPriorityBlockingQueue ( c) ConditionPriorityBlockingQueue ( c) |
الأساليب العامة | |
---|---|
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) يسترد ويزيل الحد الأدنى (كما يتم الحكم عليه من خلال عنصر |
T | poll (long timeout, TimeUnit unit, IMatcher <T> matcher) يسترد ويزيل الحد الأدنى (كما يتم الحكم عليه من خلال عنصر |
T | poll ( IMatcher <T> matcher) يسترد ويزيل الحد الأدنى (كما يتم الحكم عليه من خلال عنصر |
T | poll () استرداد وإزالة رأس قائمة الانتظار هذه. |
boolean | remove (T object) إزالة عنصر من قائمة الانتظار هذه. |
int | size () |
T | take () يسترد ويزيل الحد الأدنى (كما يتم الحكم عليه من خلال عنصر |
T | take ( IMatcher <T> matcher) يسترد ويزيل العنصر الأول T في قائمة الانتظار حيث يكون matcher.matches(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 | إذا كان العنصر المحدد فارغًا |
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> وإلا. |
نسخة
publicgetCopy ()
الحصول على نسخة من محتويات قائمة الانتظار.
عائدات | |
---|---|
مكرر
publiciterator ()
عائدات | |
---|---|
تصويت
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 | إذا انقطعت أثناء الانتظار |
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2023-12-01 (حسب التوقيت العالمي المتفَّق عليه)