课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Spring框架是我们在学习java编程开发语言的时候会经常使用的一个编程开发框架,而今天我们就一起来了解一下,Spring的任务与接口实现注意事项。
一、Spring中的任务
Spring中对与任务的执行提供了两种抽象,TaskExecutor和TaskScheduler,分别表示执行异步任务和定时任务。
Executor在JDK中是线程池的名称。一个executor用来表示执行任务的线程池,其中少会有一个线程,每个线程都可以用来执行同步或者异步任务。
Scheduler表示的是定时任务,定时任务的触发,支持JDK中的Timer和QuartzScheduler。
二、TaskExecutor
TaskExecutor接口继承了JDK中的Executor。在JDK中,ThreadPoolExecutor继承了Executor,也是一个很常用的接口。
Spring对这些实现屏蔽了细节,无论是开发JavaEE应用还是JavaSE应用,都可以直接使用TaskExecutor。
三、TaskExecutor的实现
Spring中已经实现了多种类型的TaskExecutor,在绝大多数情况下,不需要自己去实现。
SyncTaskExecutor:用来执行非异步的任务,通常用于不需要多线程的场景,实际用的比较少,通常用来执行测试用例
SimpleAsyncTaskExecutor:这个实现不会重用任何的线程,每当有新任务的时候,都是重新创建一个线程
ConcurrentTaskExecutor:这个实现是对Executor的适配,可以配置Executor的全部参数,但是一般很少使用,除非需要完全自主配置线程池
ThreadPoolTaskExecutor:这个实现常用,其中封装了ThreadPoolExecutor,如果还需要使用Executor的其他实现,可以使用ConcurrentTaskExecutor
WorkManagerTaskExecutor:这个用的就更少了,这个实现封装了WebLogic的API,以便在WebLogic中间件上运行Spring程序
DefaultManagedTaskExecutor:这个实现的目标是替代WorkManagerTaskExecutor。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。