gpt4 book ai didi

java - quartz 工作比。立即执行一次性任务的线程

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:25:19 25 4
gpt4 key购买 nike

假设我有一些工作单元需要完成,我想相对于我的应用程序的其余部分异步完成它,因为它可能需要很长时间,例如10秒到2分钟。为此,我正在考虑两种选择:

  1. 安排一个 Quartz 作业,将一个简单的触发器设置为仅触发一次并尽快触发。
  2. 创建一个 Runnable 实例,将其交给 Thread,然后调用 run();

在上述情况下,我有以下问题:

  1. 使用 Quartz 作业给我带来了什么线程没有的东西?
  2. 使用 runable 给我带来了什么,而使用 quartz 作业却没有?
  3. 就最佳实践而言,应该使用什么标准来决定此用例的 Quartz 作业和可运行对象?

最佳答案

使用 Quartz,您可以“很好地实现”许多功能,例如:

  • 作业执行的事务管理
  • 作业持久性,以便我们了解正在运行的作业的状态
  • 集群支持
  • 调度控制,即使您只需要简单的触发器。但它提供了可能性。

不使用它,你必须自己控制它们,有些问题可能会很复杂。

开始新线程:

  • 轻量级,无需工作持久性,quartz api 等。
  • 您的应用程序无需额外依赖即可运行(quartz)
  • 减少了错误源(来自 quartz )

这取决于你想开始什么样的工作,以及你的应用程序的其他功能是否也需要工作调度。

如果你只关心异步,你可以只启动一个线程。如果还有其他问题,比如集群,你可以考虑使用 quartz。

关于java - quartz 工作比。立即执行一次性任务的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25571960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com