3.1.1.5事件对象(Even ·事件对象相当于"触发器",可通知一个或多个 线程某事件的出现。有关的API CreateEvent创建一个事件对象,返回对象句柄; pen Even返回一个已存在的事件对象的句柄,用于 后续访问; 8 Setevent和 Pulseeven设置指定事件对象为可用状态 Reseteven设置指定事件对象为不可用状态;手工复 位,并唤醒所有等待线程 爷 实例:2001-08-14 Event. cpp 返回
Microsoft Windows 2000/XP 11 3.1.1.5 事件对象(Event) • 事件对象相当于"触发器",可通知一个或多个 线程某事件的出现。有关的API: – CreateEvent创建一个事件对象,返回对象句柄; – OpenEvent返回一个已存在的事件对象的句柄,用于 后续访问; – SetEvent和PulseEvent设置指定事件对象为可用状态; – ResetEvent设置指定事件对象为不可用状态;手工复 位,并唤醒所有等待线程; 返回 实例:2001-08-14 Event.cpp
★斗 3116同步对象等待放 对于这些同步对象, Windows2000XP提供了两个 9统一的等待操作 WaitForSingleObject和 WaitForMultipleObjects (1) WaitForSingleobject在指定的时间内等待指定 8 对象为可用状态 (signaled state); DWORD WaitForSingleObject( HANDLE hAndle 总/ handle of object to wait for 爷 dWORd dwMiliseconds 27 // time-out interval in milliseconds 返回
Microsoft Windows 2000/XP 12 3.1.1.6 同步对象等待 对于这些同步对象,Windows 2000/XP提供了两个 统一的等待操作WaitForSingleObject和 WaitForMultipleObjects。 (1) WaitForSingleObject在指定的时间内等待指定 对象为可用状态(signaled state); DWORD WaitForSingleObject( HANDLE hHandle, // handle of object to wait for DWORD dwMilliseconds // time-out interval in milliseconds ); 返回
器8(2Wp在指的时间内等待多个对 古。象为可用状态 DWORD WaitForMultipleObjects( DWORD nCount /对象句柄数组中的句柄数 CONST HANDLE *IpHandles ∥/指向对象句柄数组的指针,数组中可包括多种对象句 柄; bool bAitaL ∥/等待标志:TRUE表示所有对象同时可用, FALSE表示 至少一个对象可用; 爷 dWord dwMilliseconds∥/等待超时时限; 27 13
Microsoft Windows 2000/XP 13 (2) WaitForMultipleObjects在指定的时间内等待多个对 象为可用状态; DWORD WaitForMultipleObjects( DWORD nCount, //对象句柄数组中的句柄数; CONST HANDLE *lpHandles, // 指向对象句柄数组的指针,数组中可包括多种对象句 柄; BOOL bWaitAll, // 等待标志:TRUE表示所有对象同时可用,FALSE表示 至少一个对象可用; DWORD dwMilliseconds // 等待超时时限; );
★斗 312 Windows2000XP的信号(na) 信号是进程与外界的一种低级通信方式。进程可发送 信号,每个进程都有指定信号处理例程。信号通信是 单向和异步的。 Windows2000/XP有两组与信号相关的 系统调用,分别处理不同的信号 073.1.2.1 SetConsole CtrlHandlerfA Generate Console ctrlEvent 31,2.2 signal和raie 爷 27 返回
Microsoft Windows 2000/XP 14 3.1.2 Windows 2000/XP的信号(signal) 3.1.2.1 SetConsoleCtrlHandler和 GenerateConsoleCtrlEvent 3.1.2.2 signal和raise 返回 信号是进程与外界的一种低级通信方式。进程可发送 信号,每个进程都有指定信号处理例程。信号通信是 单向和异步的。Windows 2000/XP有两组与信号相关的 系统调用,分别处理不同的信号
★ 3.1.2.1 SetConsole ctrlHand r和 Generate Console ctrlEvent SetConsole ctrlhandler在本进程的处理例程 ( Handerroutine)列表中定义或取销用户定义 的处理例程;如:缺省时,它有一个CTRL+C 输入的处理例程,我们可利用本调用来忽视或 恢复CTRL+C输入的处理; Generate ConsolectrlEvent发送信号到与本进 程共享同一控制台的控制台进程组; 爷 27 15 返回
Microsoft Windows 2000/XP 15 3.1.2.1 SetConsoleCtrlHandler和 GenerateConsoleCtrlEvent 返回 • SetConsoleCtrlHandler在本进程的处理例程 (HandlerRoutine)列表中定义或取销用户定义 的处理例程;如:缺省时,它有一个CTRL+C 输入的处理例程,我们可利用本调用来忽视或 恢复CTRL+C输入的处理; • GenerateConsoleCtrlEvent发送信号到与本进 程共享同一控制台的控制台进程组;