加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Quartz job Vs.线程立即执行一次任务

发布时间:2020-12-15 03:02:25 所属栏目:Java 来源:网络整理
导读:假设我有一些工作单元需要完成,我想相对于我的应用程序的其余部分异步执行,因为它可能需要很长时间,例如10秒到2分钟.要做到这一点,我正在考虑两个选择: 使用简单的触发器设置Quartz作业,只能触发一次并尽快触发. 创建一个Runnable实例,将其交给Thread,然后
假设我有一些工作单元需要完成,我想相对于我的应用程序的其余部分异步执行,因为它可能需要很长时间,例如10秒到2分钟.要做到这一点,我正在考虑两个选择:

>使用简单的触发器设置Quartz作业,只能触发一次并尽快触发.
>创建一个Runnable实例,将其交给Thread,然后调用run();.

在上述内容中,我有以下问题:

>使用Quartz作业得到的是线程没有的东西?
>使用可运行的东西让我使用石英作业不是什么?
>就最佳实践而言,应该使用什么标准来确定此用例的Quartz作业和runnables?

解决方法

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

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

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

开始新线程:

>重量轻,无作业持久性,石英api等
>您的应用程序运行没有额外的依赖(石英)
>错误源(来自石英)减少了

这取决于您想要启动哪种工作,以及您的应用程序的其他功能是否也需要作业调度.

如果你的担心只是异步,你就可以开始一个线程.如果还有其他问题,比如聚类,您可以考虑使用石英.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读