gpt4 book ai didi

events - 高效的事件循环实现?

转载 作者:行者123 更新时间:2023-12-02 06:22:28 24 4
gpt4 key购买 nike

Possible Duplicate:
How would you implement a basic event-loop?

这并不是一个特定于语言的问题。事件循环的有效实现是什么?到目前为止我只遇到过这样的事情:

while (true) {
handleEvents();
sleep(100);
}

我认为这不是最好的方法 - 如果 sleep 持续时间太短,它会消耗大量 cpu,如果 sleep 时间太长,应用程序将非常无响应。

那么,有没有更好的方法呢?

谢谢

最佳答案

最常见的模式是:

while (WaitForNextEvent()) {
HandleEvent();
}

WaitForNextEvent() 返回 false 表示没有更多事件需要处理,最重要的是,能够执行阻塞等待 下一个事件。

例如,事件源可能是文件、套接字、线程的消息队列或其他 waitable object某种。在这种情况下,您可以保证 HandleEvent() 仅在事件准备就绪时运行,并在事件准备就绪后不久触发。

关于events - 高效的事件循环实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6634131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com