概述
创建可等待定时器是Windows内部线程同步的方式之一,本文简单讲述如何使用这一内核对象进行线程同步。
使用方法
创建对象:
//创建事件内核对象,默认未触发状态
HANDLE hTimer = CreateWaitableTimer(NULL, TRUE, NULL);
设置对象属性:
CreateWaitableTimer创建完成后内核对象处于未触发状态,需要使用API
BOOL WINAPI SetWaitableTimer(
__in HANDLE hTimer,
__in const LARGE_INTEGER* pDueTime,
__in LONG lPeriod,
__in PTIMERAPCROUTINE pfnCompletionRoutine,
__in LPVOID lpArgToCompletionRoutine,
__in BOOL fResume
);
来设置计时器对象的一些属性,pDueTime是第一次触发时间(UTC时间),lPeriod表示在第一次触发后计时器应该
以什么样的频率触发。