java - 我可以避免使用多个计时器吗?
问题描述
在我的应用程序中,我想做一些与每个特定用户响应相对应的事情。用户响应以至少 130 毫秒的间隔连续发生。对于每个特定响应,我想在 3 秒、10 秒和 30 秒后运行一些代码。我知道我可以使用多个计时器或处理程序进行延迟。但是如何以最小的处理器和内存负载来做到这一点。
解决方案
一种解决方案可能是保留“即将发生的”事件的排序队列。
每次您的单个计时器唤醒您时,您只需检查是否到了处理该队列中顶部元素的时间。如果是这样,请为该事件执行需要执行的操作并将其从队列中删除。
推荐阅读
- laravel - 如何将 CORS 中间件添加到自定义 Laravel Nova 工具中定义的路由?
- c++ - 我的可执行文件没有在 Windows 中启动。如何调试失败的 DLL 加载?
- c# - 在 Web API 中读取文件内容时出现 System.OutOfMemoryException
- tensorflow - Keras:混淆矩阵与准确性
- c - libnfc:无法打开 NFC 设备
- r - 使用分隔符从原始向量创建几个新向量
- angular - 从 Angular 7 中的 .net 核心 API 检索 http 响应正文
- mysql - Laravel:hasManyThrough 关系获取多对多表值
- python - 我们如何在 Open CV 中创建一个轨迹栏,以便我可以使用它跳到视频的特定部分?
- php - 引导崩溃:显示一个隐藏另一个