java executor 框架_Java的Executor框架简介

c6ef3b88a029069e80fa84450e2bc0de.png

Java的Executor框架简介

在Java中使用线程来执行异步任务。线程的创建和销毁都有资源的开销,为了解决这些问题,出现了线程池技术。Executor框架实现的就是线程池的功能。

Executor框架简介

在HotSpot虚拟机的线程模型中,Java的线程会映射到操作系统的线程。

多线程的程序是分为很多任务,把这些任务交给Executor框架调度执行,操作系统把相应的线程映射到处理器中执行。示意图如下:

34a33f238ed79d1cbf845d48f91b04c3.png

调度模型

Executor框架中有很多接口和核心类

Runnable 或者Callable接口的实现类就是我们需要建立的任务,把这些任务提交给Executor或ExecutorService执行,最后返回Future。

30261858459edc8c397e6786233e9158.png

接口和实现类

其中Executor接口,只有一个执行任务的方法。

ExecutorService继承与Executor,增加了提交任务的方法和管理线程池的方法。

ThreadPoolExecutor核心类,创建线程并执行任务。

Future就是异步执行的结果,是submit方法返回,通过futrue.get()获取计算结果。

Callable和Runnable接口,这两个接口的不同之处就是Callable可以返回结果,Runnable则不可。如果有submit提交一个Runnable,后台会用Executors.callable(runnable, result)转成Callable。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值