Please enable JavaScript.
Coggle requires JavaScript to display documents.
บทที่4 การจัดการเธรด - Coggle Diagram
บทที่4 การจัดการเธรด
-
สถานะ
ของเธรด
Spawn
หมายถึงการที่โพรเซสตัวหนึ่งสรางโพรเซสอีกตัวหนึ่งขึ้นมา (ซึ่งทำใหเกิดนิยามParent process และ Child process)
Block
เมื่อใดก็ตามที่เธรดตองรอใหเหตุการณใด ๆ เกิดขึ้น มันก็จะทำการบล็อกซึ่งก็จะทำใหมีการเก็บขอมูลที่เกี่ยวของไปใหบริการแกเธรดตัวอื่นที่พรอมให้บริการต่อไป
-
-
ตัวอย่างเธรดใน multi systems
การยกเลิกเธรด
-
ถ้ามีหลายเธรดค้นหาข้อมูลในฐานข้อมูลพร้อมกัน แล้วมีเธรดหนึ่งให้ผลลัพธ์ออกมาแล้วเธรดที่เหลือจะถูกยกเลิกในสภาวะอื่นอาจจะเกิดเมื่อผู้ใช้กดปุ่มบนโปรแกรมเว็บบราวเซอร์เพื่อหยุดการโหลดข้อมูล
Target thread คือการกดปุ่ม Stop บนคีย์บอร์ด จึงทำให้โปรแกรมเว็บบราวเซอร์หยุดการโหลดข้อมูล เธรดที่ถูกยกเลิก
เธรดหนึ่งถูกยกเลิกในขณะอยู่ระหว่างการบันทึกข้อมูลที่ใช้ทรัพยากรร่วมกันอยู่กับเธรดอื่น สิ่งนี้เป็นกรณี
พิเศษของการยกเลิกแบบ Asynchronous ดังนั้นการยกเลิกแบบ Asynchronous อาจจะใช้ยกเลิกกับทรัพยากรทั่วไปไม่ได้
การยกเลิกแบบ Deferred จะทำงานโดยมีเธรดหนึ่งที่กำหนดว่า Target thread ใดจะถูกยกเลิก อย่างไรก็
ตาม การยกเลิกนี้จะเกิดขึ้นเฉพาะเมื่อ Target thread นั้นตรวจสอบว่าตัวเองจะถูกยกเลิกหรือไม่
-
ตัวอย่างการใช้เธรด
ซอฟต์แวร์ปัจจุบันมีการออกแบบให้เป็นMultithread โดยแยกออกเป็นโพรเซสที่ควบคุมหลาย ๆ เธรดในสถานการณ์บางอย่างการทำงานแบบ Single อาจจะต้องการทำงานพร้อมกันหลาย ๆ งาน
วิธีหนึ่งคือให้เซริฟเวอร์เรียกใช้งานโพรเซสขึ้นมาหนึ่งโพรเซสและรอรับการร้องขอ
เมื่อได้รับแล้ว จะสร้างโพรเซสแยกออกมาเพื่อให้บริการในทุกการร้องขอที่ขอมา
การสร้างโพรเซสในลักษณะนี้เป็นวิธีแบบธรรมดาที่เคยใช้กันก่อนที่จะมีระบบเธรดขึ้นมาอีก การสร้างโพรเซสต้องใช้เวลาในการสร้างมากและต้องละเอียดและทำให้การทำงานแบบนี้ไม่เกิด Overhead
คลังข้อมูลการจัดการเธรด
รูปแบบ Two-level
-
-
-
-
-
-