请输入您要查询的百科知识:

 

词条 CMutex
释义

CMutex类的对象代表“哑程(mutex)”——它为一个同步对象,允许某线程共同访问同一资源。在仅仅一个线程被允许用于修改数据或其它被控制的资源时,哑程将变得非常有用。例如,给链接的列表增添一个结点就是只允许一个线程的过程。通过使用CMutex对象来控制链接列表,此时只有一个线程能够获得列表的访问权。

若要使用CMutex 对象,首先要构造一个所需的CMutex 对象。然后指定希望等待的哑程的名称,那么应用最初就将拥有它。可以在构造函数返回时,访问哑程。当你已经访问了被控制的资源后,再调用CSyncObject::Unlock函数。

另外一种使用CMutex 对象的方法就是一个CMutex类型的变量,将其作为你希望控制类的数据成员。在被控制对象的构造过程中,若哑程最初拥有了哑程的名称或期待的安全属性,那么就调用CMutex数据成员指定的构造函数,以这种方式访问由CMutex 对象控制的资源,首先要在资源访问的成员函数中创建CSingleLock类型或CMultiLock类型的变量。然后调用封锁对象的Lock成员函数(例如, CSingleLock::Lock)。这样,你的线程要么就获得资源的访问权,以等待将要释放的资源,并获取访问权,要么就等待将要释放的资源,当超时后,返回失败。在任何一种情况下,都可以在线程安全的模式下访问资源。若要释放这些资源,使用封锁对象的Unlock成员函数(例如, CSingleLock::Unlock),或允许封锁对象越界。

#include <afxmt.h>

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/1 14:21:20