java - 在 Quasar 中调度任务,无需生成新线程

标签 java multithreading quasar

我想生成许多在特定时间间隔执行私有(private)方法的 Actor。该任务需要按照时间间隔无限期地运行,直到 Actor 终止。

我在 Java 中看到的所有解决方案都涉及创建一个新线程,例如 Spring 的 TaskExecutor或使用ScheduledExecutorService 。因为 Actor 已经拥有自己的 Fiber,所以我认为没有理由生成线程,除非我的任务非常繁重。

在 Elixir 中,使用 Process.send_after() 可以非常简单地实现这一点.

在 Java 中使用 Quasar 是否有类似的方法来执行此操作?

最佳答案

Fiber 有方法 sleep(long millis),因此您可以轻松创建一个定期执行的 Fiber:

while (!end) {
    doTask();
    sleep(period);
}

关于java - 在 Quasar 中调度任务,无需生成新线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50788913/

相关文章:

java - 此 AbstractList 如何返回整数对象列表

java - 线程的创建和启动

java - 为什么 CyclicBarrier reset() 方法抛出 BrokenBarrierException

android - 基于接收广播 Intent 启动网络通信的正确方法是什么?

multithreading - BeginThread 结构 - Delphi

java - Siena/Play/GAE 解析 boolean 字段错误 : 0 = true

vue.js - 在 vue.js 模板中显示主机名

button - 在 v-on :click or @click (Vue. js 内的函数上传递一个变量)

vuejs3 - 在 Quasar 中为 qtable 中的每一行弹出上下文菜单的便捷方法

Java Android SQLite 重复值