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

เมธอดสาธารณะ

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