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(
|
เมธอดสาธารณะ | |
---|---|
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 |
หากองค์ประกอบที่ระบุเป็น 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
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 |
หากถูกขัดจังหวะขณะรอ |