当前位置: 首页 > 面试题库 >

具有可变延迟的ScheduledExecutorService

戚峻
2023-03-14
问题内容

假设我有一个任务要从java.util.concurrent.BlockingQueue中提取元素并进行处理。

public void scheduleTask(int delay, TimeUnit timeUnit)
{
    scheduledExecutorService.scheduleWithFixedDelay(new Task(queue), 0, delay, timeUnit);
}

如果可以动态更改频率,我该如何安排/重新安排任务?

  • 想法是获取数据更新流并将其批量传播到GUI
  • 用户应该能够更改更新频率

问题答案:

我认为您无法更改固定速率的延迟。我认为您需要使用schedule()执行一次操作,并在完成后再次计划(如果需要,可以更改超时)。



 类似资料:
  • 问题内容: 我有一个输入,可以根据更改过滤ng-repeat列表。重复数据包含大量数据,并且需要花费几秒钟来过滤所有内容。我希望他们在开始过滤过程之前有0.5秒的延迟。 产生延迟的正确方法是什么? 输入项 重复 过滤功能 谢谢 问题答案: AngularJS 1.3+ 从AngularJS 1.3开始,您可以利用提供的属性轻松实现这一点,而无需使用。这是一个例子: HTML: JS: - 要么 -

  • 是否有可能拥有一个java。util。可选,仅在需要时才进行评估? 我需要将一个传递给一个方法(我无法更改的API),并且这个方法可能会也可能不会使用该的值。由于该值是由一个繁重的操作计算的,因此我想仅在需要时(如果需要)计算该值,例如调用、、等。 类似

  • 问题内容: 我需要在循环中对数据库进行SQL查询: 更好的方法是:保持原样或循环后移动: 或者是其他东西 ? 问题答案: 整个要点是直到函数返回才执行,因此将其放置在要关闭的资源打开后的适当位置。但是,由于要在循环内创建资源,因此根本不要使用defer- 否则,在函数退出之前,您不会关闭在循环内创建的任何资源,因此它们会堆积直到然后。相反,您应该在每次循环迭代结束时关闭它们, 而无需 :

  • 我正在尝试对使用的Kotlin coroutine进行单元测试。对于单元测试,我不关心,它只是放慢测试的速度。我希望以某种方式运行测试,在调用时不会实际延迟。

  • 问题内容: 请考虑以下示例: Web应用程序为每个登录用户创建一个用户对象。该对象具有的简单属性,… 每个用户也可以拥有一个。考虑到获取用户非常昂贵,因此我们不希望在用户登录时不设置用户汽车。相反,我们希望在用例需要时获得汽车。 为了实现这一点,我们创建了一个用户pojo: 登录后的初始用户: 每个需要用车的用例都可以轻松获得: 但是,我一直认为通过这种方式,我的User对象不再是简单的pojo了

  • 问题内容: 我正在尝试使用新的React Lazy和Suspense创建后备加载组件。这很好用,但后备时间仅显示几毫秒。有没有办法增加额外的延迟或最短时间,因此我可以在渲染下一个组件之前显示该组件的动画? 现在懒导入 等待组件: 我可以做这样的事情吗? 问题答案: 函数应该返回对象的承诺,该对象由具有默认导出功能的模块返回。不会返回承诺,也不能那样使用。尽管任意承诺可以: 如果目标是提供 最小的