可等待Matawā对象
【勇芳软件工作室】汉化HomePreviousNext

“等待”定时器对象是同步对象,其状态在指定的到期时间到达时设置为发信号。可以创建两种类型的等待定时器:手动复位和同步。任何一种类型的定时器也可以是周期性定时器。

目的描述
手动复位定时器调用SetWaitableTimer 之前状态保持信号的定时器,以建立新的到期时间。
同步定时器一个定时器,其状态保持信号,直到线程完成对定时器对象的等待操作。
周期性定时器每次指定时间段到期时重新激活的定时器,直到定时器复位或取消为止。周期性定时器是周期性手动复位定时器或周期性同步定时器。

一个线程使用CreateWaitableTimer函数来创建一个定时器对象。为【bManualReset】参数指定TRUE,以创建手动复位定时器,FALSE创建同步定时器。创建线程可以在【lpTimerName】参数中指定计时器对象的名称。其他进程中的线程可以通过在对OpenWaitableTimer函数的调用中指定其名称来打开现有计时器的句柄。任何具有定时器对象句柄的线程都可以使用等待功能之一等待定时器状态设置为发信号。

*线程调用SetWaitableTimer功能激活定时器。请注意使用SetWaitableTimer的以下参数:

*使用【lpDueTime】参数指定定时器设置为信号状态的时间。当手动复位定时器设置为信号状态时,它将保持在此状态,直到SetWaitableTimer建立新的到期时间。当同步定时器设置为信号状态时,它将保持在此状态,直到线程完成对定时器对象的等待操作。

*使用SetWaitableTimer功能的【lPeriod】参数指定计时器周期。如果周期不为零,定时器是定时器;每当时间段到期时,它被重新激活,直到定时器被复位或取消为止。如果周期为零,定时器不是周期性定时器;它发出一次信号,然后停用。

线程可以使用CancelWaitableTimer功能将定时器设置为非活动状态。要重置定时器,请调用SetWaitableTimer.完成定时器对象后,调用CloseHandle关闭定时器对象的句柄。