栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

CompletableFuture1--FutureTask架构及简单使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CompletableFuture1--FutureTask架构及简单使用

文章目录
    • 一.Future简介
    • 二.Future及FutureTask来由
    • 三.Future简单使用

一.Future简介

     在Java中如果提到异步任务,那么就一定会用到Future,它是Java中异步任务的接口,并在1.5版本就已出现.
      Future定义了一些操作异步任务执行的方法,如获取异步任务的执行结果,判断任务是否执行完毕等.

      简单来说就是我们可以通过Future将异步任务放到另一个线程中执行,并使用Future对返回结果进行接收.

二.Future及FutureTask来由

      假如我们现在有这样一个需要:要实现 有返回值的多线程的异步任务,我们应该用什么接口或者什么类?

  • 返回值–>Callable
    多线程–>Runnable
    异步任务–>Future

      所以我们需要有一个类或接口将这三方势力都关联起来,供我们去调用.
现在看一下Future接口的实现类,FutureTask

      它实现了两个接口,能够达到多线程和异步任务的目的,但是没有涉及到返回值,但是在Java中还提供了通过构造器传参数的一种方式,可以发现FutureTask的构造参数是需要传入一个Callable的.

这就达成了我们的目的,使用FutureTask就可以满足.

注:这里要说一下启动一个线程和异步任务的区别:
启动一个线程很简单,用runnable即可,异步任务是要满足Future异步任务的规范,比如说可以被取消,可以判断是否执行完毕等等.

三.Future简单使用

1.直接使用线程

2.利用线程池使用future进行接收.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/953032.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号