We do not always find visible happiness in proportion to visible virtue

梦幻白桦林

SHARE

  开发者Cpp博客 :: 首页 :: 联系 :: 聚合  :: 管理
  14 Posts :: 58 Stories :: 62 Comments :: 0 Trackbacks

公告

常用链接

留言簿(5)

搜索

  •  

最新随笔

最新评论

阅读排行榜

“激发” signaled 对于不同的核心对象有不同的意义

Thread 线程,当线程结束时,线程对象即被激发。当线程还在进行时,则对象处于未激发状态。

Process 进程,当进程结束时,进程对象即被激发。当进程还在进行时,则对象处于未激发状态。

Change Notification ,当一个特定的磁盘子目录中发生一件特别的变化时,此对象即被激发。此对象系由 FindFirstChangeNotification() 产生

Console Input ,当 console 窗口的输入缓冲区中有数据可用时,此对象将处于激发状态。 CreateFile ()和 GetStdFile ()两函数可以获得 console handle 。

Event , Event 对象的状态直接受控于应用程序所使用的三个 Win32 函数: SetEvent (), PulseEvent (), ResetEvent ()。 CreateEvent ()和 OpenEvent ()都可以传回一个 event object handle 。 Event 对象的状态也可以被操作系统设定——如果使用于“ overlapped ”操作时。

Mutex ,如果 mutex 没有被任何线程拥有,他就是处于激发状态。一旦一个等待 mutex 的函数返回了, mutex 也就自动重置为未激发状态。 CreateMutex ()和 OpenMutex ()都可以获得一个 Mutext 的 handle 。

Semaphore , Semaphore 有点像 mutex ,但他有个计数器,可以约束其拥有者(线程)的个数。当计数器内容大于 0 时, semaphore 处于激发状态,当计数器内容等于 0 时, semaphore 处于未激发状态。 CreateSemaphore ()和 OpenSemaphore ()可以传回一个 semaphore handle 。

posted on 2007-03-31 23:03 colys 阅读(254) 评论(0)  编辑 收藏 引用 所属分类: C++