การยกเว้นร่วมกัน (Mutex)

ผู้เขียน: Lewis Jackson
วันที่สร้าง: 8 พฤษภาคม 2021
วันที่อัปเดต: 15 พฤษภาคม 2024
Anonim
C++ Multi Threading Part 2: Mutex And Conditional Variables
วิดีโอ: C++ Multi Threading Part 2: Mutex And Conditional Variables

เนื้อหา

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

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


ข้อมูลเบื้องต้นเกี่ยวกับ Microsoft Azure และ Microsoft Cloud | ในคู่มือนี้คุณจะได้เรียนรู้ว่าการประมวลผลแบบคลาวด์คืออะไรและ Microsoft Azure สามารถช่วยคุณในการโยกย้ายและดำเนินธุรกิจจากคลาวด์อย่างไร

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

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

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


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