ConditionPriorityBlockingQueue

public class ConditionPriorityBlockingQueue
extends Object implements Iterable<T>

java.lang.Object
   ↳ com.android.tradefed.util.ConditionPriorityBlockingQueue<T>


คลาสที่ปลอดภัยสำหรับเธรดที่มีการดำเนินการคล้าย PriorityBlockingQueue ซึ่งสามารถดึงข้อมูลออบเจ็กต์ ที่ตรงกับเงื่อนไขที่กำหนด

การทำซ้ำยังปลอดภัยต่อเธรด แต่ไม่สอดคล้องกัน ระบบจะสร้างสำเนาของคิวในเวลาที่สร้างตัววนซ้ำ และใช้สำเนาดังกล่าวเป็นเป้าหมายการวนซ้ำ หากมีการแก้ไขคิวระหว่างการวนซ้ำ ระบบจะไม่แสดง ConcurrentModificationException แต่ตัววนซ้ำ จะไม่แสดงเนื้อหาที่แก้ไขด้วย

ดูเพิ่มเติม:

สรุป

คลาสที่ซ้อนกัน

class ConditionPriorityBlockingQueue.AlwaysMatch<T>

ConditionPriorityBlockingQueue.IMatcher ที่ตรงกับออบเจ็กต์ใดก็ได้ 

interface ConditionPriorityBlockingQueue.IMatcher<T>

อินเทอร์เฟซสำหรับพิจารณาว่าองค์ประกอบตรงตามเงื่อนไขบางอย่างหรือไม่ 

เครื่องมือสร้างสาธารณะ

ConditionPriorityBlockingQueue()

สร้าง ConditionPriorityBlockingQueue

ระบบจะจัดลำดับความสำคัญขององค์ประกอบตามลำดับ FIFO

ConditionPriorityBlockingQueue(Comparator<T> c)

สร้าง ConditionPriorityBlockingQueue

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

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)

ดึงและนำองค์ประกอบ Comparator T ที่มีค่าต่ำสุด (ตามที่ระบุ) ออกจากคิวที่ matcher.matches(T) คือ true

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

ดึงและนำองค์ประกอบ Comparator T ที่มีค่าต่ำสุด (ตามที่ระบุ) ออกจากคิวที่ matcher.matches(T) คือ true

T poll(long timeout, TimeUnit unit)

ดึงและนำองค์ประกอบ Comparator ที่มีค่าต่ำสุด (ตามที่พิจารณาจากองค์ประกอบ T ที่ระบุใน คิว) ออก

T poll()

เรียกและนำส่วนหัวของคิวนี้ออก

boolean remove(T object)

นำรายการออกจากคิวนี้

int size()
T take()

ดึงและนำองค์ประกอบ Comparator ที่มีค่าต่ำสุด (ตามที่พิจารณาจากองค์ประกอบ T ที่ระบุใน คิว) ออก

T take(IMatcher<T> matcher)

เรียกและนำองค์ประกอบแรก T ในคิวที่ matcher.matches(T) is true ออก โดยรอจนกว่าจะมีองค์ประกอบดังกล่าวหากจำเป็น

เครื่องมือสร้างสาธารณะ

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 หากสายหลุดขณะรอ

ถ่าย

public T take (IMatcher<T> matcher)

เรียกและนำองค์ประกอบแรก T ในคิวที่ matcher.matches(T) is true ออก โดยรอจนกว่าจะมีองค์ประกอบดังกล่าวหากจำเป็น

พารามิเตอร์
matcher IMatcher: IMatcher ที่ใช้ประเมินองค์ประกอบ

การคืนสินค้า
T องค์ประกอบที่ตรงกัน

ส่ง
InterruptedException หากสายหลุดขณะรอ