บ้าน พัฒนาการ การยกเว้นร่วมกัน (mutex) คืออะไร? - คำจำกัดความจาก techopedia

การยกเว้นร่วมกัน (mutex) คืออะไร? - คำจำกัดความจาก techopedia

สารบัญ:

Anonim

คำจำกัดความ - การยกเว้นร่วมกัน (Mutex) หมายถึงอะไร

การยกเว้นร่วมกัน (mutex) เป็นวัตถุโปรแกรมที่ป้องกันการเข้าถึงทรัพยากรที่ใช้ร่วมกันในเวลาเดียวกัน แนวคิดนี้ใช้ในการเขียนโปรแกรมพร้อมกันด้วยส่วนที่สำคัญชิ้นส่วนของรหัสที่กระบวนการหรือเธรดเข้าถึงทรัพยากรที่ใช้ร่วมกัน หนึ่งเธรดที่เป็นเจ้าของ mutex ในแต่ละครั้งดังนั้น mutex ที่มีชื่อเฉพาะจะถูกสร้างขึ้นเมื่อโปรแกรมเริ่มทำงาน เมื่อเธรดมีทรัพยากรจะต้องล็อค mutex จากเธรดอื่น ๆ เพื่อป้องกันการเข้าถึงทรัพยากรพร้อมกัน เมื่อปล่อยรีซอร์สเธรดจะปลดล็อก mutex

Techopedia อธิบายการแยกรวม (Mutex)

Mutex เข้ามาในรูปภาพเมื่อสองเธรดทำงานกับข้อมูลเดียวกันในเวลาเดียวกัน มันทำหน้าที่เป็นล็อคและเป็นเครื่องมือการประสานขั้นพื้นฐานที่สุด เมื่อเธรดพยายามรับ mutex เธรดจะได้รับ mutex หากพร้อมใช้งานมิฉะนั้นเธรดจะถูกตั้งค่าเป็นเงื่อนไขการสลีป การแยกออกจากกันช่วยลดเวลาในการตอบสนองและไม่รอคอยโดยใช้การสลับแถวคอย Mutex สามารถบังคับใช้ได้ทั้งในระดับฮาร์ดแวร์และซอฟต์แวร์

การปิดใช้งานการอินเตอร์รัปต์สำหรับจำนวนคำสั่งที่น้อยที่สุดเป็นวิธีที่ดีที่สุดในการบังคับใช้ mutex ที่ระดับเคอร์เนลและป้องกันความเสียหายของโครงสร้างข้อมูลที่ใช้ร่วมกัน หากโปรเซสเซอร์หลายตัวใช้หน่วยความจำร่วมกันตั้งค่าสถานะเพื่อเปิดใช้งานและปิดใช้งานการจัดหาทรัพยากรตามความพร้อมใช้งาน กลไกไม่ว่างกำลังรอ mutex ในพื้นที่ซอฟต์แวร์ ตกแต่งด้วยอัลกอริทึมเช่นอัลกอริธึมของ Dekker, อัลกอริทึมเบเกอรี่ขาวดำ, อัลกอริทึมของ Szymanski, อัลกอริทึมของ Peterson และอัลกอริทึมของเบเกอรี่ Lamport

ผู้อ่านเอกสิทธิ์เฉพาะบุคคลและรหัสคลาสอ่าน / เขียน mutex สามารถกำหนดไว้สำหรับการใช้งาน mutex อย่างมีประสิทธิภาพ

การยกเว้นร่วมกัน (mutex) คืออะไร? - คำจำกัดความจาก techopedia