MUTEX คืออะไร

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

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

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

ในขณะที่ความเร็วของการถ่ายโอนการเข้าถึงเป็นไปอย่างรวดเร็วจนผู้ใช้ปลายทางไม่ได้สังเกตเห็น แต่ควรสังเกตว่าเมื่อใดก็ตามที่มีการใช้งานทรัพยากรมันจะถูกล็อคอย่างมีประสิทธิภาพในหนึ่งเธรดในลำดับ เธรดอื่นที่ต้องการการใช้ทรัพยากรจะออกคำขอที่จะเข้าสู่คิวและยังคงอยู่ที่นั่นจนกว่าเธรดแรกจะเสร็จสิ้นพร้อมกับการใช้งานที่ใช้งานอยู่ ณ จุดนั้นทรัพยากรจะถูกปลดล็อคและฟังก์ชั่น MUTEX อนุญาตให้เธรดต่อไปในการเข้าถึงคิวที่แอ็คทีฟ หากเธรดที่สามใช้งานอยู่และต้องการทรัพยากร MUTEX จะจัดเรียงเธรดนี้ในคิวและให้สิทธิ์การเข้าถึงแบบหมุนเวียน