在不产生新线程的情况下在 Quasar 中安排任务
Scheduling tasks in Quasar, without spawning a new thread
我想生成许多在特定时间间隔执行私有方法的 Actor。此任务将需要 运行 在时间间隔内无限期地执行,直到 Actor 终止。
我在 Java 中看到的所有解决方案都涉及创建一个新线程,例如 Spring 的 TaskExecutor or using ScheduledExecutorService。因为 Actor 已经有自己的 Fiber,所以除非我的任务很重,否则我认为没有理由生成线程。
在 Elixir 中,使用 .
实现起来非常简单
在 Java 中使用 Quasar 有类似的方法吗?
Fiber 具有方法 sleep(long millis)
,因此您可以轻松地创建一个周期性执行的 fiber:
while (!end) {
doTask();
sleep(period);
}
我想生成许多在特定时间间隔执行私有方法的 Actor。此任务将需要 运行 在时间间隔内无限期地执行,直到 Actor 终止。
我在 Java 中看到的所有解决方案都涉及创建一个新线程,例如 Spring 的 TaskExecutor or using ScheduledExecutorService。因为 Actor 已经有自己的 Fiber,所以除非我的任务很重,否则我认为没有理由生成线程。
在 Elixir 中,使用
在 Java 中使用 Quasar 有类似的方法吗?
Fiber 具有方法 sleep(long millis)
,因此您可以轻松地创建一个周期性执行的 fiber:
while (!end) {
doTask();
sleep(period);
}