【发布时间】:2012-04-03 16:05:58
【问题描述】:
我认为这是一个已解决的问题,但我的 google-fu 还不够好。
我有一个表格来跟踪多个事物的状态。服务器可以随意将更改推送给客户端。
问题是我不想推送更新,如果最后一次更新不到 5 秒前。
在不创建另一个事件管理器线程的情况下实现这一目标的最简洁方法是什么?
我现在的刺是这样的:
pushEvent(){
Look up the last update time
if: last update less than 5 sec ago
then do nothing
else
pushToClients
}
它在大多数情况下都足够好用,但显然最后一次更新可以不推送。
这样做的好方法是什么? 我想到的一些方法:
- 为所有推送(例如 Thread.sleep)添加 5 秒延迟,这样我可以 检查是否已安排更新。不理想但没有人 可能会介意。
- 执行推送,然后设置 doNotPush=true。使用计时器 将其设置回 false。
谢谢,
【问题讨论】:
标签: java events event-handling pushviewcontroller server-push