石英中的作业是作为进程还是线程执行?
如果它作为一个线程执行,那么当执行繁重的工作或耗时的工作时,它会影响石英调度程序的性能。
如果是,那么请建议解决方案。
如果我们同时执行10个耗时的工作会产生什么影响?
我阅读了教程,但没有找到解决方案。 请提出解决方案。
感谢。
答案 0 :(得分:0)
阅读有关Configuring the thread pool的文档,其中解释了石英线程池如何满足您的需求。更具体地说,可以根据您的需要设置org.quartz.threadPool.threadCount
配置属性,如文档所述:
可用于并发执行作业的线程数。您 可以指定任何正整数,尽管只有1和1之间的数字 100是实用的。如果你只有一些工作可以点燃几次 一天,然后一个线程是充足的。如果你有成千上万的工作, 每分钟都有许多射击,那么你想要更多的线程数 50或100(这在很大程度上取决于你的工作性质 作业执行,以及您的系统资源)。
在您提到的有关同时触发的10个作业的具体示例中,如果您已配置超过10个线程的上述属性,则每个作业将在其自己的线程上并发运行。否则,如果配置较少,则会先启动一些,其他将等待线程可用。如果在配置的时间段内没有线程可用,则您设置的失火指令将处理要采取的操作,通常是尽快触发延迟的作业,但这也是可配置的设置。