网站首页  词典首页

请输入您要查询的计算机术语:

 

术语 CEvent
释义 CEvent

CObject
 └CSyncObject
    └CEvent

CEvent类的一个对象,表示一个“事件”——一个允许一个事件发生时线程通知另一个线程的同步对象。在一个线程需要了解何时执行任务时,事件是十分有用的。例如,拷贝数据到数据文档时,线程应被通知何时数据是可用的。当新数据可用时,通过运用CEvent对象来通知拷贝线程,线程才可能尽快地执行。
CEvent对象有两种类型:自动和手工。一个手工CEvent对象存在于由ResetEvent 或SetEvent设置的状态中,直到另一个函数被调用。一个自动CEvent对象在至少一个线程被释放后自动返回一个无标记(无用的)状态。
要使用一个CEvent对象,应在需要时构造一个CEvent对象。指定要等待的事件,应用应拥有它,就可以在构造函数返回时访问事件。调用SetEvent标记(使可用)事件对象,然后当访问完控制资源时,调用Unlock函数。
另一个使用CEvent对象的方法是添加一个CEvent类型的变量,使之成为希望控制的类的一个数据成员。在控制对象被构造期间,可调用CEvent数据成员的构造函数,它指明时间是否是最初就被标记、需要的事件对象类型、事件名称(如果在进程中要使用)和所希望的安全属性。
按以下方式访问一个被CEvent对象控制的资源:首先创建在资源访问成员函数中构造一个CSingleLock或CMultiLock类型的变量,然后调用封锁对象的Lock成员函数(如CMultiLock::Lock)。此时,线程要么可以访问资源,等待资源释放后访问;要么等待资源释放而超时,访问资源失败。在各种情况下,资源都被以线程安全方式访问。要释放资源,可调用SetEvent来标识一个事件对象,然后使用封锁对象的Unlock成员函数(如CMultiLock::UnLock)成员函数,或允许封锁对象超过范围。要获得更多使用CEvent对象的更多信息,请参阅联机文档“Visual C++程序员指南”中的“多线程:如何使用同步类”。
#include <afxmt.h>

CEvent类的成员

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

方法
SetEvent设置一个事件可用(有标记)并释放某些等待线程
PulseEvent设置一个事件可用(有标记),并释放某些等待线程,设置该事件无效(无标记)
ResetEvent设置事件无效(无标记)
Unlock释放事件对象
随便看

 

MFC类库中文详解手册包含4274条MFC类库参考词条,基本涵盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。

 

Copyright © 2004-2023 Winrtm.com All Rights Reserved
京ICP备2021023879号-40 更新时间:2024/10/6 10:26:58