CMultiLock

CMultiLock类没有基类。
CMultiLock类的对象代表多线程程序中控制资源访问的访问控制机制。若为了使用同步类CSemaphore, CMutex, CCriticalSection和CEvent,可以创建CMultiLock或CSingleLock对象以等待或发行同步对象。若在某个特定的时间希望使用多个对象,就请使用CMultiLock。否则,当仅仅在某时需等候某一对象时,请使用CSingleLock。
若要使用CMultiLock 对象,首先要创建希望等待的同步对象的数组。
然后,调用被控制的资源类成员函数内的CMultiLock对象的构造函数。其后调用Lock成员函数来决定资源是否为有效资源(被标记)。若有,就继续进行该成员函数的操作。否则,要么等待一定的时间,等资源被释放,要么返回失败。在资源完全使用后,要么当再一次使用CMultiLock对象调用Unlock函数,要么允许销毁CMultiLock对象。
CMultiLock对象在线程有大量响应的CEvent对象时非常有用。首先创建一个包含所有CEvent指针的数组,然后调用Lock函数。这将导致线程等待到某个事件被标记。
如果要了解有关如何使用CMultiLock对象的更多信息,请参阅联机文档“Visual C++程序员指南”中的“多线程:如何使用同步类”。
#include <afxmt.h>


CMultiLock类的成员

构造函数
CMultiLock构造一个CMultiLock对象

方法
IsLocked决定数组中指定的同步对象是否被封锁
Lock等待同步对象数组
Unlock释放所有的被控制的同步对象