windows 下,用CreateWaitableTimer SetWaitableTimer 创建定时器(用轮询的办法保持高精度)

windows 下,用CreateWaitableTimer SetWaitableTimer 创建定时器
可以有 100 纳秒也就是 1/10 微秒, 1/10000 毫秒的精度。

呵呵。 SetWaitableTimer 首次触发,文档中是写的这个精度。
定时间隔,精度是 1ms.。

用媒体定时器也可以1ms,不知道和你说的是不是同一个
说到底,还是1ms精度
*nix下,用usleep,自己做定时器,50us没问题
而且不耗CPU
Window下要突破1ms,只能去暴力轮询


轮询后,CPU时间就DUANG的消耗掉了,还会受到各种事情的影响,比如说CPU刚好很繁忙,然后精度也会出错
以前我们军工里有需求,在Windows下做高精度,就是轮询
为了这个定时器,一个核基本跑满
浪费一个核,换了一个高精度

posted @ 2016-08-26 15:59  findumars  Views(997)  Comments(0Edit  收藏  举报