我正在开发一个需要在特定时间发送消息的应用程序(这与多媒体有关,所以计时精度很重要),因此我需要一种机制来在指定的毫秒数内调用回调函数。
我需要同时支持Windows和Mac。我研究了Windows上的定时器队列,它看起来像我需要的,但我读到计时精度对于基于多媒体的应用程序来说不够精确(我的应用程序在特定时间向驱动程序感测MIDI消息)。有什么想法吗?
发布于 2011-11-26 07:49:01
我认为你在Windows上最好的选择是使用Multimedia Timers。在OS上,使用最简单的函数是nanosleep,但你可以使用kqueue很长一段路。我不认为有任何问题,如果你谈论毫秒精度(毫秒是一个非常,非常长的时间)。您可能需要做的唯一一件事就是确保操作系统“实时”地运行您的进程。
发布于 2011-11-26 07:57:24
据我所知,在所有操作系统中,任何睡眠功能都是“最少”的。
如果操作系统有很多任务,这取决于这些任务的调度器。
在太空中,他们有专门的硬件,可以从队列中执行简单的功能-这是你能得到的最好的-而且他们不会被裁剪
https://stackoverflow.com/questions/8275063
复制相似问题