winapi – Windows API中有哪些定期计时器对象?
在研究比.NET计时器对象提供的15 ms分辨率更好的选项时(见
https://stackoverflow.com/questions/3744032/why-are-net-timers-limited-to-15-ms-resolution),我正在研究Windows提供的不同计时器对象.我发现了以下内容:
> Old style Windows timer Windows API中是否还有其他计时器类型? 解决方法
我问了这个问题,因为我对实现一个定期计时器很感兴趣,这个计时器比.NET提供的计时器更精细.我对这些计时器的调查(Windows.Forms.Timer,System.Timers.Timer和System.Threading.Timer)表明,我所希望的最好的是15毫秒粒度,精度为-1到30毫秒.这对大多数应用程序来说都很好,但不适用于我正在处理的应用程序.
有关我的调查的详细信息,请参阅Why are .NET timers limited to 15 ms resolution?和http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=815. 这导致我在Windows下寻找可用的定期计时器对象.我确定了我在原始问题中发布的五种类型.我没有找到任何其他人.我放弃了旧式Windows计时器,因为我不想处理消息.然后我在C#中为其他四种计时器类型编写了托管原型并进行了一些测试. 所有四种定时器类型(多媒体定时器,等待定时器,定时器队列定时器和线程池定时器)提供可靠的1 ms间隔,具有非常好的分辨率.其中,Threadpool计时器是最容易与之交互的计时器,但遗憾的是它在Windows XP上不受支持.定时器队列定时器有一系列令人眼花缭乱的选项,但如果忽略大多数选项,它们几乎就像Threadpool定时器一样简单.有关详细信息,请参阅Exploring options for better timers. 我选择在.NET中为我的通用计时器类包装计时器队列计时器.你可以看到它here. 您可能也对Waitable Timers in .NET with C#感兴趣. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在Windows cmd脚本中添加%TIME%变量
- 窗口 – 微小读取(重叠,缓冲)的表现超过大型连续读取?
- windows-server-2008 – 修改Active Directory连接对象
- (如何)我可以在Windows上执行单个.cmake文件吗?
- windows-phone-8 – 在模拟器中浏览Windows Phone 8文件系统
- Windows 10 MBR转GPT分区
- kendo-ui – 如何使用kendoWindow显示kendoNotification
- windows – 什么是winapifamily.h?
- clojure – 滑动窗口在seq
- Windows Phone 7 – SkyDrive的编程访问
- wix – 为什么Windows Installer在删除期间不会使
- 跟踪OceanLotus的新下载程序KerrDown
- Windows 8上的mklink权限
- Windows Server 2008系统状态备份
- Windows 7中的windows-7 – makecert.exe丢失,如
- windows-phone-7 – Dotfuscator删除Windows Pho
- 安装tesserocr时提示error: Microsoft Visual C+
- Windows下的Blackberry Emulator测试网站
- 路径分隔符不一致,导致windows下不能开发
- 如何使用Windows批处理文件来衡量控制台应用程序