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

前端之家收集整理的这篇文章主要介绍了java – Quartz job Vs.线程立即执行一次任务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一些工作单元需要完成,我想相对于我的应用程序的其余部分异步执行,因为它可能需要很长时间,例如10秒到2分钟.要做到这一点,我正在考虑两个选择:

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

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

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

解决方法

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

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

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

开始新线程:

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

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

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

猜你在找的Java相关文章