Windows系统中的 Timer Queues 、SetTimer

来源:互联网 发布:零基础java 编辑:程序博客网 时间:2024/04/30 08:53
今日比较了一下Windows系统中的
Timer Queues(http://msdn.microsoft.com/en-us/library/ms686796%28VS.85%29.aspx)与
SetTimer (http://msdn.microsoft.com/en-us/library/ms644906%28VS.85%29.aspx)这两种定时器。
 
发现这两种定时器的一个根本区别在于,后者的回调函数必须在一个拥有消息队列的线程中才能被执行;而前者的回调函数可以在一个系统级别的线程池中被调用,应用程序即可不必创建,也可不必关心回调函数将运行在哪个线程中

Timer Queues 线程安全
 
此外,相比较而言,前者的定时器精度更高,以一毫秒为单位;而后者的最高精度为USER_TIMER_MINIMUM(0x0000000A)。