CMultiLock Class

表示多线程程序中用于控制对多个资源的访问的访问控制机制。

class CMultiLock

成员

公共构造函数

名称

说明

CMultiLock::CMultiLock

构造 CMultiLock 对象。

公共方法

名称

说明

CMultiLock::IsLocked

确定该数组的特定同步对象是否锁定。

CMultiLock::Lock

在一些等待同步对象。

CMultiLock::Unlock

释放所有拥有的同步对象。

备注

CMultiLock 没有基类。

若要使用同步选件类 CSemaphoreCMutexCEvent,可以创建到等待的一 CMultiLockCSingleLock 对象和发布同步对象。 请使用 CMultiLock ,当有可以在特定时间使用的多个对象。 当您在对象只需一次时,等待请使用 CSingleLock

若要使用 CMultiLock 对象,请首先创建要等待同步对象的数组。 接下来,调用一个成员函数中 CMultiLock 对象的构造函数在受控资源的选件类。 然后调用 锁定 成员函数确定资源是否可用(终止)。 如果一个是,请继续成员函数的其余部分。 如果资源不可用,请等待资源的经过指定时释放或返回失败。 资源的使用后完成的,或调用 unlock 功能,如果要再次使用 CMultiLock 对象,以允许 CMultiLock 对象被销毁。

CMultiLock 对象是最有用的,则可以响应的线程具有大量 CEvent 对象时。 创建包含所有 CEvent 指针的数组,并调用 Lock。 这将导致线程等待,直到其中一个事件信号。

有关如何使用 CMultiLock 对象的更多信息,请参见文章 多线程处理:如何使用同步类选件

继承层次结构

CMultiLock

要求

Header: afxmt.h

请参见

参考

层次结构图