【发布时间】:2011-03-30 07:38:06
【问题描述】:
我有一个没有保存按钮的应用程序;保存在后台自动发生。当用户使用应用程序时,会创建任务并将其放入队列中以供执行。其中一些是延迟的,例如当你开始输入时,我会等待 200ms,然后再更新数据库中的相应值。
为了使代码更易于使用,我希望能够将任务添加到队列中,并带有延迟和“键”。如果已经有一个具有相同“key”的任务,那么我的第二个任务应该被忽略(因为相同的操作已经排队)。
类似的东西已经存在了吗?
【问题讨论】:
-
只是为了澄清-您使用标准队列实现还是一些自定义数据结构?我们可以用所需的类似“Set”的行为来装饰吗?
-
目前,我将更新添加到标准队列并启动计时器。当计时器用完时,我将整个队列推送到数据库并提交。现在我在想是否有更好/不同的方法。
-
您是等到第一次按键后 200 毫秒,还是最后一次(最近)?还有一个有趣的问题——用例是什么?
标签: java concurrency map delayed-execution