Java基础-任务执行服务

今天小编带领大家一起来探索Java中的任务执行服务

关于任务执行服务,我们介绍了:

·任务执行服务的基本概念。

·主要实现方式:线程池。

·定时任务。

(1)基本概念

任务执行服务大大简化了执行异步任务所需的开发,它引入了一个“执行服务”的概念,将“任务的提交”和“任务的执行”相分离,“执行服务”封装了任务执行的细节,对于任务提交者而言,它可以关注于任务本身,如提交任务、获取结果、取消任务,而不需要关注任务执行的细节,如线程创建、任务调度、线程关闭等。

任务执行服务主要涉及以下接口:

·Runnable和Callable:表示要执行的异步任务。

·Executor和ExecutorService:表示执行服务。

·Future:表示异步任务的结果。

使用者只需要通过ExecutorService提交任务,通过Future操作任务和结果即可,不需要关注线程创建和协调的细节。

(2)线程池

任务执行服务的主要实现机制是线程池,实现类是ThreadPoolExecutor。线程池主要由两个概念组成:一个是任务队列;另一个是工作者线程。任务队列是一个阻塞队列,保存待执行的任务

工作者线程主体就是一个循环,循环从队列中接收任务并执行。ThreadPool-Executor有一些重要的参数,理解这些参数对于合理使用线程池非常重要,18.2节对这些参数进行了详细介绍。

ThreadPoolExecutor实现了生产者/消费者模式,工作者线程就是消费者,任务提交者就是生产者,线程池自己维护任务队列。当我们碰到类似生

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值