核心对象激发状态的意义

“激发” 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 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值