Loading AI tools
来自维基百科,自由的百科全书
可等待定时器对象是Windows操作系统的一种同步对象,当设定的期限到了时,对象被置为signaled状态。[1]
可创建两种可等待定时器对象:
两种可等待定时器对象都可以是周期定时器(periodic timer)。周期定时器在每次周期到期时可重新激活,直至它被重置或者被取消。周期定时器或者是手工重置定时器或者是同步定时器。
当定时器变为signaled状态, 处理器须执行相关的指令(如completion routine)。高频率的定时器使得处理器处于繁忙状态,阻止其进入低能耗状态。考虑在程序中使用事件通知而不是定时器通知。如果必须使用定时器,考虑使用一次性定时器而不是周期定时器。或者设置周期定时器的间隔大于1秒钟。
线程使用CreateWaitableTimer或CreateWaitableTimerEx函数创建定时器对象,并指明是手工重置定时器还是同步定时器,还可指定定时器的名字. 其他进程中的线程可以指出定时器的名字,用OpenWaitableTimer函数打开一个已经存在的定时器。任何线程可以给出一个定时器的句柄,用等待函数(wait function)在该定时器对象上等待其状态变为signaled.
线程调用SetWaitableTimer函数来激活定时器,使用CancelWaitableTimer函数设置定时器为无效(inactive)状态。使用完定时器后,调用CloseHandle函数关闭它.
Windows操作系统对定时器对象的处理过程为:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.