微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

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

解决方法

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

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

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

开始新线程:

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

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

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

原文地址:https://www.jb51.cc/java/128592.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐