CMutex

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

การใช้วัตถุCMutexสร้างวัตถุCMutexเมื่อจำเป็น ระบุชื่อของ mutex คุณต้องการรอ และโปรแกรมประยุกต์ของคุณควรเริ่มต้นด้วยเองก็ จากนั้นคุณสามารถเข้าถึง mutex เมื่อมีการส่งกลับค่าที่กำหนด โทรCSyncObject::Unlockเมื่อคุณดำเนินการทรัพยากรมีการควบคุมการเข้าถึง?

วิธีการอื่นสำหรับการใช้วัตถุCMutexได้เมื่อต้องการ เพิ่มตัวแปรของชนิดCMutexเป็นสมาชิกข้อมูลชั้นคุณต้องการควบคุม ในระหว่างการก่อสร้างของวัตถุมีการควบคุม เรียกที่กำหนดของสมาชิกข้อมูลCMutexระบุถ้า mutex เป็นเจ้าแรก ของ ชื่อของ mutex (ถ้ามันจะใช้ข้ามพรมแดนของกระบวนการ), และต้องการคุณลักษณะการรักษาความปลอดภัย?

ในการเข้าถึงทรัพยากรที่ถูกควบคุม โดยวัตถุCMutexในลักษณะนี้ ครั้งแรกสร้างตัวแปรของชนิดใดCSingleLock หรือพิมพ์CMultiLockในของทรัพยากรของคุณเข้าถึงฟังก์ชันสมาชิก จึง เรียกฟังก์ชันการสมาชิกล็อกของล็อกวัตถุ (ตัวอย่างเช่นCSingleLock::Lock) ณจุดนี้ หัวข้อของคุณจะอย่างใดอย่างหนึ่งสามารถเข้าถึงทรัพยากร รอสำหรับทรัพยากรจะนำออกใช้ และเข้าถึง หรือรอเวลาออก ความล้มเหลวในการเข้าถึงทรัพยากรและทรัพยากรที่ถูกนำออกใช้ ในกรณีใด ๆ ทรัพยากรของคุณมีการเข้าถึงในลักษณะหัวข้อเซฟ เมื่อต้องการปล่อยทรัพยากร ใช้ล็อกวัตถุปลดล็อกสมาชิกฟังก์ชัน (ตัวอย่างเช่นCSingleLock::Unlock), หรืออนุญาตให้ล็อกวัตถุอยู่ภายนอกขอบเขต?

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้วัตถุCMutexให้ดูบทความ Multithreading: วิธีการซิงโครไนส์คลาสที่ใช้ในVisual c ++ Programmer ของคำแนะนำ?

#รวม lt;afxmt.h>

สมาชิกของคลาส|nbsp คลาสพื้นฐาน| แผนภูมิของลำดับชั้น(&N)

ตัวอย่างnbsp อย่าง MFC MUTEXES(&N)

Index