【发布时间】:2015-11-20 05:51:13
【问题描述】:
我正在研究时间驱动的事件,但我似乎无法弄清楚如何在不经常使用过多 CPU 的情况下完成此操作。
array events;
events[1] = [id:1,time:1440589943,event:happend];
While(running)
{
loop over events
if(currentTime >= eventTime)
fireEvent()
}
这似乎是我能想到的最基本的事件处理程序,但我认为它会不断消耗大量 CPU 而实际上并没有真正做任何事情。
所以问题基本上是:其他任何语言中的时间驱动事件如何处理时间驱动事件?他们是否经常检查一个人是否准备好被解雇?他们是否使用巧妙的调度机制?
提前致谢。
【问题讨论】:
标签: events scheduler intervals event-driven event-driven-design