java任务调度quartz_java多线程面试题及答案

Java (1) 2024-10-04 16:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
java任务调度quartz_java多线程面试题及答案,希望能够帮助你!!!。

Quartz 是一个完全由Java 编写的开源作业调度框架,为在Java 应用程序中进行作业调度提供了简单却强大的机制。

核心概念

Job 和JobDetail

Job:定义需要执行的任务,该类是一个接口,需要在实现类的execute 方法中编写需要定时执行的Job 任务

JobDetail:描述Job 的实现类及其它相关的静态信息,如Job 名字、描述、关联监听器等信息。Quartz 每次调度 Job 时, 都重新创建一个 Job 实例, 所以它不直接接受一个 Job 的实例,相反它接收一个 Job 实现类,以便运行时通过 newInstance() 的反射机制实例化 Job。

java任务调度quartz_java多线程面试题及答案_https://bianchenghao6.com/blog_Java_第1张

示例

Trigger

负责设置调度策略,该类是一个接口,描述触发Job 执行的时间触发规则,主要有SimpleTriggerCronTrigger 两个子类。当且只需要调度一次或者以固定的周期执行任务,SimpleTrigger 是最适合的选择;而CronTrigger 则可以通过Cron 表达式来定义出各种复杂的时间规则调度方案。

java任务调度quartz_java多线程面试题及答案_https://bianchenghao6.com/blog_Java_第2张

示例

Scheduler

Scheduler 调度器相当于一个容器,装载着任务和触发器。该类是一个接口,代表一个Quartz 的独立运行容器,Trigger 和JobDetail 可以注册到Scheduler 中,两者在Scheduler 中拥有各自的组及名称,组及名称是Scheduler 查找定位容器中某一个对象的依据,JobDetail 和Trigger 的组和名称必须唯一。

java任务调度quartz_java多线程面试题及答案_https://bianchenghao6.com/blog_Java_第3张

示例

ThreadPool

Scheduler 使用一个线程池来作为任务运行的基础设施,任务通过共享线程池中的线程来提高运算效率。

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

发表回复