threads คือ: เปรียบเหมือนกับ process ของระบบปฏิบัติการ หรือสิ่งที่สามารถทำงานโปรแกรมได้ (ตามความเข้าใจ) ซึ่งในระบบปฏิบัติการในปัจจบันส่วนใหญ่จะรองรับการทำงานเเบบ mutiple-tasking ก็จะประมาณว่าระบบปฏิบัติการจะจัดการหรือให้โปรแกรมทำงานพร้อมๆกันได้โดยการ สลับกันทำงานซึ่งจะดูเหมือนว่าโปรแกรมทำงานพร้อมๆกัน
สถานะของ threads ?วงชีวิตของ threads:
เมื่อ วัตถุของ threads ถูกสร้างขึ้น threads จะยังไม่ทำงานคือจะอยู่ใน status New จนกว่าวัตถุนั้นจะถูกเรียก start() ก็จะทำให้ threads เปลี่ยน status เป็น runnable คือ รอเข้าทำงานในหน่วยประมวลจนถึงเวลาที่ threads เข้าไปทำงานในหน่วยประมวลผลก็จะเปลี่ยนเป็น status running ซึ่งจาก status runnable ไปเป็น status running จะเกิดได้เองและเร็วมากจนกว่า threads ทำงานจนจบก็จะเข้าสู่ status terminated
NEW:เป็นการสร้างวัตถุซึ่งจะยังไม่ทำงานอะไรเลยเหมือนวัตถุทั่วไป
RUNNABLE:คือ status รอคิวเพื่อเข้าไปทำงานในหน่วยประมวล
BLOCKED: status ตอนที่ threads กำลังจะ lock เพื่อ synchronized หรือ กลับสู่ synchronized เมื่อเรียก wait()
WAITING:status กำลังรอเหตุการณ์ที่กำลังจะเกิดขึ้น ประมาณนี้
TIMED_WAITING: status กำลังรอให้ถึงเวลาที่กำหนดจะเกิดขึ้นเพราะมีการใช้ sleep(),wait(),join() แบบกำหนดเวลา
TERMINATE: ดิเอ็น;
============================
start(): เริ่มทำงาน
yield(): ยีลด เรียกเมื่อ threads ที่ำลังทำงานอยู่สามารถหยุดออกมารอที่ status runnableและกลับไปทำงานใหม่ได้อีกเมื่อมีโอกาสเพื่อให้ threads อื่นเข้าไปทำงานบ้าง
sleep():เป็นการหน่วงเวลาให้โปรแกรมทำงานช้าลงหรือให้ thread ออกจาก สถานะ running ไปสู่ timed_waiting แล้วจะกลับมาสู่ runnable อีก
interupt:เรียกเพือขัดจังหวะ thread ที่เป้นเจ้าของ
suspend()/resume(): ก็เป้นการเรียกเพือให้ thread ที่กำลังทำงานอยู่หยุดให้เป้น สถานะ runnable แต่ไม่สามารถกลับเข้ามาทำงานได้อีกจนกว่าจะเรียก resume()
stop():
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น