CMultiLock

CMultiLockไม่มีคลาสพื้นฐาน?

วัตถุของคลาสCMultiLockแทนที่กลไกการควบคุมการเข้าถึงที่ใช้ในการควบคุมการเข้าถึงทรัพยากรในโปรแกรมไม่ ให้ใช้การซิงโครไนส์เรียนCSemaphore, CMutexและCEvent, คุณสามารถสร้างได้CMultiLockหรือCSingleLock วัตถุเพื่อปรนนิบัติ และปล่อยวัตถุให้ตรงกันได้ ใช้CMultiLockเมื่อมีวัตถุต่าง ๆ ที่คุณสามารถใช้เวลาที่เฉพาะเจาะจง ใช้CSingleLockเมื่อคุณจำเป็นต้องรอบนวัตถุหนึ่งครั้งเท่านั้น?

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

วัตถุCMultiLockได้ประโยชน์มากที่สุดเมื่อด้ายCEventวัตถุที่สามารถตอบสนองต่อการเป็นจำนวนมาก สร้างอาร์เรย์ที่ประกอบด้วยตัวชี้CEventทั้งหมด และเรียกใช้ล็อก นี้จะทำให้หัวข้อที่ต้องรอจนกว่าเหตุการณ์อย่างใดอย่างหนึ่งเป็นการส่งสัญญาณ?

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

#รวม lt;afxmt.h>

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

Index