|
|
1
1
如果没有任何事件可连接,则代码必须处于“活动”状态才能运行检查。这会消耗CPU周期。 可以减轻浪费的方法是在睡眠中添加一个调用(THEAD.O.NET中的睡眠,在C++的一些实现中睡眠)。
但这会让你的代码响应性降低一点。 |
|
|
2
0
您可以尝试使用计时器队列: http://msdn.microsoft.com/en-us/library/ms687003%28VS.85%29.aspx 它基本上使用内核调度程序以指定的间隔调用函数回调,调用方来自不同的线程,因此它不会中断主线程并使应用程序响应,该线程由Windows管理,因此您不必管理自己的池线程,并且相对准确。 实施示例: `
` 免责声明:我不测试或编译这些代码,你应该重新检查它 |
|
|
3
0
尽管您已经将其标记为语言不可知的,但是任何好的实现都会有很大的不同,不仅是在不同的语言之间,而且在不同的操作系统之间。在很多情况下,程序或操作系统功能只需要做这类事情,并且已经实现了一些机制,以尽可能合理、无干扰的方式来做这件事。 如果您有一种特定的语言和/或操作系统,请告诉我们,并给我们一个更好的想法,你正在努力实现。这样,我们就可以把你引向这个问题许多可能的解决办法中最适当的一个。 |