ConditionPriorityBlockingQueue
public
class
ConditionPriorityBlockingQueue
extends Object
implements
Iterable<T>
| java.lang.Object | |
| ↳ | com.android.tradefed.util.ConditionPriorityBlockingQueue<T> |
คลาสที่ปลอดภัยสำหรับเธรดที่มีการดำเนินการคล้าย PriorityBlockingQueue ซึ่งสามารถดึงข้อมูลออบเจ็กต์
ที่ตรงกับเงื่อนไขที่กำหนด
การทำซ้ำยังปลอดภัยต่อเธรด แต่ไม่สอดคล้องกัน ระบบจะสร้างสำเนาของคิวในเวลาที่สร้างตัววนซ้ำ
และใช้สำเนาดังกล่าวเป็นเป้าหมายการวนซ้ำ หากมีการแก้ไขคิวระหว่างการวนซ้ำ ระบบจะไม่แสดง ConcurrentModificationException แต่ตัววนซ้ำ
จะไม่แสดงเนื้อหาที่แก้ไขด้วย
ดูเพิ่มเติม:
สรุป
คลาสที่ซ้อนกัน | |
|---|---|
class |
ConditionPriorityBlockingQueue.AlwaysMatch<T>
|
interface |
ConditionPriorityBlockingQueue.IMatcher<T>
อินเทอร์เฟซสำหรับพิจารณาว่าองค์ประกอบตรงตามเงื่อนไขบางอย่างหรือไม่ |
เครื่องมือสร้างสาธารณะ | |
|---|---|
ConditionPriorityBlockingQueue()
สร้าง ระบบจะจัดลำดับความสำคัญขององค์ประกอบตามลำดับ FIFO |
|
ConditionPriorityBlockingQueue(Comparator<T> c)
|
|
เมธอดสาธารณะ | |
|---|---|
boolean
|
add(T addedElement)
แทรกองค์ประกอบที่ระบุลงในคิวนี้ |
T
|
addUnique(IMatcher<T> matcher, T object)
เพิ่มรายการลงในคิวนี้ โดยแทนที่ออบเจ็กต์ที่มีอยู่ซึ่งตรงกับเงื่อนไขที่ระบุ |
void
|
clear()
นำองค์ประกอบทั้งหมดออกจากคิวนี้ |
boolean
|
contains(T object)
พิจารณาว่าปัจจุบันมีออบเจ็กต์อยู่ในคิวนี้หรือไม่ |
List<T>
|
getCopy()
รับสำเนาเนื้อหาในคิว |
Iterator<T>
|
iterator()
|
T
|
poll(IMatcher<T> matcher)
ดึงและนำองค์ประกอบ |
T
|
poll(long timeout, TimeUnit unit, IMatcher<T> matcher)
ดึงและนำองค์ประกอบ |
T
|
poll(long timeout, TimeUnit unit)
ดึงและนำองค์ประกอบ |
T
|
poll()
เรียกและนำส่วนหัวของคิวนี้ออก |
boolean
|
remove(T object)
นำรายการออกจากคิวนี้ |
int
|
size()
|
T
|
take()
ดึงและนำองค์ประกอบ |
T
|
take(IMatcher<T> matcher)
เรียกและนำองค์ประกอบแรก T ในคิวที่ matcher.matches(T) is
|
เครื่องมือสร้างสาธารณะ
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue ()
สร้าง ConditionPriorityBlockingQueue
ระบบจะจัดลำดับความสำคัญขององค์ประกอบตามลำดับ FIFO
ConditionPriorityBlockingQueue
public ConditionPriorityBlockingQueue (Comparator<T> c)
สร้าง ConditionPriorityBlockingQueue
| พารามิเตอร์ | |
|---|---|
c |
Comparator: 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 |
true หากมีออบเจ็กต์ที่ระบุอยู่ในคิว false>
มิฉะนั้น |
getCopy
public List<T> getCopy ()
รับสำเนาเนื้อหาในคิว
| การคืนสินค้า | |
|---|---|
List<T> |
|
ตัววนซ้ำ
public Iterator<T> iterator ()
| การคืนสินค้า | |
|---|---|
Iterator<T> |
|
โพล
public T poll (IMatcher<T> matcher)
ดึงและนำองค์ประกอบ Comparator T ที่มีค่าต่ำสุด (ตามที่ระบุ) ออกจากคิวที่ matcher.matches(T) คือ true
| พารามิเตอร์ | |
|---|---|
matcher |
IMatcher: IMatcher ที่ใช้ประเมินองค์ประกอบ |
| การคืนสินค้า | |
|---|---|
T |
องค์ประกอบที่ตรงกันอย่างน้อยที่สุดหรือ null หากไม่มีองค์ประกอบที่ตรงกัน |
โพล
public T poll (long timeout,
TimeUnit unit,
IMatcher<T> matcher)ดึงและนำองค์ประกอบ Comparator T ที่มีค่าต่ำสุด (ตามที่ระบุ) ออกจากคิวที่ matcher.matches(T) คือ true
บล็อกเวลาสูงสุด timeout เพื่อให้องค์ประกอบพร้อมใช้งาน
| พารามิเตอร์ | |
|---|---|
timeout |
long: ระยะเวลารอให้องค์ประกอบพร้อมใช้งาน |
unit |
TimeUnit: TimeUnit ของการหมดเวลา |
matcher |
IMatcher: IMatcher ที่ใช้ประเมินองค์ประกอบ |
| การคืนสินค้า | |
|---|---|
T |
องค์ประกอบที่ตรงกันอย่างน้อยที่สุดหรือ null หากไม่มีองค์ประกอบที่ตรงกัน |
| ส่ง | |
|---|---|
InterruptedException |
|
โพล
public T poll (long timeout,
TimeUnit unit)ดึงและนำองค์ประกอบ Comparator ที่มีค่าต่ำสุด (ตามที่พิจารณาจากองค์ประกอบ T ที่ระบุใน
คิว) ออก
บล็อกเวลาสูงสุด timeout เพื่อให้องค์ประกอบพร้อมใช้งาน
| พารามิเตอร์ | |
|---|---|
timeout |
long: ระยะเวลารอให้องค์ประกอบพร้อมใช้งาน |
unit |
TimeUnit: TimeUnit ของการหมดเวลา |
| การคืนสินค้า | |
|---|---|
T |
องค์ประกอบที่ตรงกันอย่างน้อยที่สุดหรือ null หากไม่มีองค์ประกอบที่ตรงกัน |
| ส่ง | |
|---|---|
InterruptedException |
|
โพล
public T poll ()
เรียกและนำส่วนหัวของคิวนี้ออก
| การคืนสินค้า | |
|---|---|
T |
ส่วนหัวของคิวนี้ หรือ null หากคิวว่างเปล่า |
นำออก
public boolean remove (T object)
นำรายการออกจากคิวนี้
| พารามิเตอร์ | |
|---|---|
object |
T: ออบเจ็กต์ที่จะนำออก |
| การคืนสินค้า | |
|---|---|
boolean |
true หากนำออบเจ็กต์ที่ระบุออกจากคิว false>
มิฉะนั้น |
ขนาด
public int size ()
| การคืนสินค้า | |
|---|---|
int |
จำนวนองค์ประกอบในคิว |
ถ่าย
public T take ()
ดึงและนำองค์ประกอบ Comparator ที่มีค่าต่ำสุด (ตามที่พิจารณาจากองค์ประกอบ T ที่ระบุใน
คิว) ออก
บล็อกโดยไม่มีกำหนดเพื่อให้องค์ประกอบพร้อมใช้งาน
| การคืนสินค้า | |
|---|---|
T |
หัวของคิวนี้ |
| ส่ง | |
|---|---|
InterruptedException |
หากสายหลุดขณะรอ |