问题标签 [scheduledexecutorservice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3005 浏览

java - scheduleExecutorService.scheduleAtFixedRate() 方法如何确保实时执行?

因为我每秒都在执行一个时间紧迫的任务,所以我比较了几种方法,以找到确保我的任务真正以固定时间步长执行的最佳方法。在计算所有方法的误差的标准推导之后,似乎使用该方法scheduledExecutorService.scheduleAtFixedRate()会导致最好的结果,但我不知道为什么会这样。

有人知道这种方法在内部是如何工作的吗?例如,与简单的sleep()确保引用的任务真正以固定时间步长执行相比,它如何?

0 投票
5 回答
46435 浏览

multithreading - 如何在基于 servlet 的 Web 应用程序中运行后台任务?

我正在使用 Java,我想保持一个 servlet 在我的应用程序中持续运行,但我不知道如何去做。我的 servlet 有一种方法可以每天计算数据库中的用户计数以及整个数据库中的用户总数。所以我想保持 servlet 持续运行。

0 投票
1 回答
1552 浏览

java - ScheduledExecutorService 和使用 Thread.sleep() 滚动您自己的 Runnable 之间的区别

使用ScheduledExecutorService'sscheduleAtFixedRate()定期运行一段代码,而不是创建一个Runnable具有永久循环的新代码以及Thread.sleep()导致线程在所需时间段内休眠的 a 有什么好处?

其中一种方法是否有性能提升?

0 投票
1 回答
21685 浏览

android - 我在哪里创建和使用 ScheduledThreadPoolExecutor、TimerTask 或 Handler?

我需要让我的 RSS 提要阅读器每 10 分钟检查一次提要是否有新帖子,然后在有新帖子时解析它们。我还需要大约每分钟更新一次 UI。

我从不同的渠道阅读和听到了不同的东西。我目前的理解是我可以ScheduledThreadPoolExecutor用来制作两个预定线程,其中一个需要Handler用于更新 UI。我不确定这些类或TimerTask.

我也很不确定在哪里制作这些的子类。一位朋友建议TimerTask在我的课堂上扩展为内部类FeedParser以使其更简单。但是,要以这种方式实现它,我必须使用run()for 方法TimerTask而不覆盖它,这意味着我不能简单地将所需的参数用于需要运行的函数。

简而言之,为此安排任务的最佳方式是什么,我将在哪里实施这些任务?

0 投票
1 回答
401 浏览

java - Java EE WebListener 和线程

我有一个 servlet 标记为@WebListener.

MILLISECONDS_ITERATE_XX = 600001 分钟)。

是否有可能某些线程因内存问题而自行停止?

如果在我的BatchX()运行方法中出现异常(例如NullPointerException),线程会永远停止吗?

0 投票
1 回答
1558 浏览

java - 我可以强制额外运行预定的执行吗?

我有一个 singleThreadExecutor,我正在用这样的 scheduleFixedDelay 喂一个 Runnable

它将在两次执行之间延迟 1 分钟运行。问题是,有时我需要“按需”运行它。那可能吗?

我考虑过取消执行,运行 Runnable 并重新启动执行,但我真正想要的是一些简单的方法,它只是提前执行 Runnable 并重新安排它在一分钟内再次运行。

0 投票
2 回答
11955 浏览

java - 如何使用 ScheduledExecutorService 返回值?

我使用 ScheduledExecutorService,我希望它每 10 秒进行一次计算,持续一分钟,然后在那一分钟后返回新值。我该怎么做?

示例:所以它收到 5 它添加 +1 六次然后它应该在一分钟后返回我的值 11。

我到目前为止但没有工作的是:

}

在我的主要活动中,我希望它在 1 分钟后将我的 txtview 文本更改为 11;

0 投票
1 回答
1238 浏览

java - ScheduledExecutorService 一段时间后没有运行

我有两个每秒运行的执行器服务。但是当我在 run 方法中插入一行代码时,其中一个停止运行。这是我的课程:

游戏服务器:

服务器管理器:

玩家:

主要的:

Player类中,有一行注释的代码int randomGameServer =...run 方法按预期每秒流畅运行。但是如果我取消注释,播放器运行的方法只会执行几次并停止。我想做的是让玩家随机选择一个游戏服务器加入。有谁知道它为什么停止?

带有注释行的结果(播放器连续运行):

未注释行的结果(播放器运行了几次):

0 投票
4 回答
16668 浏览

java - Thread.sleep() VS Executor.scheduleWithFixedDelay()

目标:每隔一段时间执行某些代码。

问题:在性能方面,是否存在显着差异:

?

当然,后一种选择更洁净。然而,我想知道我是否应该开始一次名为“花几天时间重构遗留代码来告别 Thread.sleep()”的冒险。

更新:此代码在超级/超级/超高负载环境中运行。

0 投票
1 回答
800 浏览

scheduledexecutorservice - 从 ScheduledExecutorService 中删除 Runnable

这是情况,代码如下

用户填写 3 个字段并按下“添加”按钮 => 创建一个 ToDoBean 并将其添加到一个 ToDoModel(扩展 AbstractTableModel),并使用模型中的 ToDoBean 的索引创建一个 Runnable。Runnable 通过 ScheduledExecutorService 立即启动。

Runnable 的目标是递减一个 int 直到它达到零。

一切正常。

现在用户还可以在 JTable 中选择一行并按下“删除”按钮以从列表中删除 ToDoBean。

我的问题是:当我删除 bean 时,看起来它也从 ScheduledExecutorService 中删除了。为什么?如何?事实上,这正是我所需要的,但我想了解这些机制。谢谢

编码:

包demo.todolist;

导入 java.util.ArrayList;导入 java.util.List;导入 javax.swing.table.AbstractTableModel;

公共类 ToDoModel 扩展 AbstractTableModel {

包demo.todolist;

公共类 ToDoBean {