สารบัญ:
คำจำกัดความ - การยกเว้นร่วมกัน (Mutex) หมายถึงอะไร
การยกเว้นร่วมกัน (mutex) เป็นวัตถุโปรแกรมที่ป้องกันการเข้าถึงทรัพยากรที่ใช้ร่วมกันในเวลาเดียวกัน แนวคิดนี้ใช้ในการเขียนโปรแกรมพร้อมกันด้วยส่วนที่สำคัญชิ้นส่วนของรหัสที่กระบวนการหรือเธรดเข้าถึงทรัพยากรที่ใช้ร่วมกัน หนึ่งเธรดที่เป็นเจ้าของ mutex ในแต่ละครั้งดังนั้น mutex ที่มีชื่อเฉพาะจะถูกสร้างขึ้นเมื่อโปรแกรมเริ่มทำงาน เมื่อเธรดมีทรัพยากรจะต้องล็อค mutex จากเธรดอื่น ๆ เพื่อป้องกันการเข้าถึงทรัพยากรพร้อมกัน เมื่อปล่อยรีซอร์สเธรดจะปลดล็อก mutex
Techopedia อธิบายการแยกรวม (Mutex)
Mutex เข้ามาในรูปภาพเมื่อสองเธรดทำงานกับข้อมูลเดียวกันในเวลาเดียวกัน มันทำหน้าที่เป็นล็อคและเป็นเครื่องมือการประสานขั้นพื้นฐานที่สุด เมื่อเธรดพยายามรับ mutex เธรดจะได้รับ mutex หากพร้อมใช้งานมิฉะนั้นเธรดจะถูกตั้งค่าเป็นเงื่อนไขการสลีป การแยกออกจากกันช่วยลดเวลาในการตอบสนองและไม่รอคอยโดยใช้การสลับแถวคอย Mutex สามารถบังคับใช้ได้ทั้งในระดับฮาร์ดแวร์และซอฟต์แวร์
การปิดใช้งานการอินเตอร์รัปต์สำหรับจำนวนคำสั่งที่น้อยที่สุดเป็นวิธีที่ดีที่สุดในการบังคับใช้ mutex ที่ระดับเคอร์เนลและป้องกันความเสียหายของโครงสร้างข้อมูลที่ใช้ร่วมกัน หากโปรเซสเซอร์หลายตัวใช้หน่วยความจำร่วมกันตั้งค่าสถานะเพื่อเปิดใช้งานและปิดใช้งานการจัดหาทรัพยากรตามความพร้อมใช้งาน กลไกไม่ว่างกำลังรอ mutex ในพื้นที่ซอฟต์แวร์ ตกแต่งด้วยอัลกอริทึมเช่นอัลกอริธึมของ Dekker, อัลกอริทึมเบเกอรี่ขาวดำ, อัลกอริทึมของ Szymanski, อัลกอริทึมของ Peterson และอัลกอริทึมของเบเกอรี่ Lamport
ผู้อ่านเอกสิทธิ์เฉพาะบุคคลและรหัสคลาสอ่าน / เขียน mutex สามารถกำหนดไว้สำหรับการใช้งาน mutex อย่างมีประสิทธิภาพ
