java - 在 Quasar 中调度任务,而不产生新线程
问题描述
我想生成许多以特定时间间隔执行私有方法的 Actor。此任务将需要无限期地以时间间隔运行,直到 Actor 终止。
我在 Java 中看到的所有解决方案都涉及创建一个新线程,例如 Spring 的TaskExecutor或使用ScheduledExecutorService。因为 Actor 已经拥有自己的 Fiber,所以我认为没有理由生成线程,除非我的任务非常繁重。
在 Elixir 中,使用Process.send_after()很容易实现。
使用 Quasar 在 Java 中是否有类似的方法可以做到这一点?
解决方案
Fiber 具有 method sleep(long millis)
,因此您可以轻松创建定期执行的 Fiber:
while (!end) {
doTask();
sleep(period);
}
推荐阅读
- angular - 如何在 docker 容器上运行单个 spa 应用程序
- html - 悬停过渡时移动的文本
- react-native - 无法在 react-native-bottom-sheet 中使底片的角变圆
- python - Python:在我的 Visual Studio Code 上找不到选择解释器命令
- react-native - 当连接返回 react-native-offline 时优先 actionQueue
- ruby - 调用语法以及如何在 ruby 中编写 yaml 文件
- c++ - C ++中的相等字符串
- java - java.lang.IllegalStateException:配置错误
- javascript - UnhandledPromiseRejectionWarning: InvalidRepoVersionError: 不兼容的 repo 版本。(IPFS-JS 0.55.3)-(节点 JS 14.17.0)
- c++ - C++ 中模板化子类特化的限制