FutureTask+Thread获得线程的计算结果

线程类Runnable是没有返回结果的,如果想要得到线程的计算结果可以使用Callable类。FutureTask类实现了RunnableFuture接口, RunnableFuture接口继承了Runnable和Future接口。JAVA中可以使用ExecutorService配合Future接口来实现异步计算。

FutureTask+Thread获得线程的计算结果

简单的FutureTask+Thread获得线程的计算结果代码如下

csharp;gutter:true; public static void main(String[] args) {</p> <pre><code> FutureTask task = new FutureTask(new Callable() { public Integer call() throws Exception { TimeUnit.SECONDS.sleep(5); int sum = 0; for (int i = 0; i < 10000; i++) { sum += i; } return sum; } }); Thread thread = new Thread(task); thread.start(); try { // get 方法会阻塞线程,直到拿到结果 Integer result = task.get(); System.out.println("我是结果:" + result); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } System.out.println("最后打印....."); </code></pre> <p>}

结果:

我是结果:49995000
最后打印…..

Original: https://www.cnblogs.com/foxting/p/12523094.html
Author: KenNgai
Title: FutureTask+Thread获得线程的计算结果

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/540004/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Git学习(解决git clone不提示输入用户名和密码就直接报错的问题)

    一、Git核心命令 1、创建一个git项目 ①git init MyProject —此时创建的新项目中没有.git文件,只需要把隐藏的文件显示出来即可 ②git ad…

    Java 2023年6月8日
    072
  • org导出html时图片链接部分会出错(已解决)

    当在org中写入类似下列图片链接的时候,在导出的时候会出错 http://images.cnblogs.com/cnblogs_com/csophys/432523/o_%E7%9…

    Java 2023年6月7日
    072
  • jdk自带监控程序jvisualvm的使用

    监控小程序的配置 生产环境tomcat的配置 编辑应用所在的tomcat服务器下的bin目录下的catalina.sh文件,修改如下: 配置如下内容: export JAVA_OP…

    Java 2023年5月30日
    092
  • Java架构师学习路线思维导图+Java基础+Java常用技术思维导图

    最近浏览保存的一些比较详细的思维导图,大家感兴趣可下载阅读。 Java架构师学习路线思维导图 链接: _ https://www.processon.com/view/link/5…

    Java 2023年5月29日
    0106
  • 请求地址工具

    import javax.net.ssl.*;import java.io.*;import java.net.URL; public static String httpsReq…

    Java 2023年6月13日
    057
  • Leetcode刷题笔记(双指针)

    双指针主要用来遍历数组,两个指针指向不同的元素,从而协同完成任务。我们也可以类比这个概念,推广到多个数组的多个指针。 若两个指针指向同一数组,遍历方向相同且不会相交,可以称之为 滑…

    Java 2023年6月7日
    081
  • 八大基本排序

    package sort; import java.util.Arrays; /** * @author 紫英 * @version 1.0 * @di…

    Java 2023年6月5日
    072
  • 栈区和堆区

    在编写程序中,会创建许许多多的变量,访问一个变量靠的是访问变量的地址,如果不记住变量地址,就无法对该变量进行操作,内存空间有限,如果变量过多不可能把所有的变量地址都保存下来,这样一…

    Java 2023年6月5日
    099
  • MQ 简介

    You must try things that may not work. And you must not let anyone define your limits beca…

    Java 2023年6月9日
    057
  • Javaweb06-JDBC

    1、jdbc.properties配置文件 jdbc.properties driverClass=com.mysql.jdbc.Driver jdbcUrl=jdbc:mysql…

    Java 2023年6月15日
    078
  • 利用privoxy劫持http网站数据,插入广告,获取用户名,密码

    看了几篇privoxy的文章,感觉讲的都不详细,在此整理一遍。 注:本文下面的内容仅讨论思路,作为技术交流之用,请勿用作非法途径. Privoxy是一款带过滤功能的代理服务器,针对…

    Java 2023年6月16日
    077
  • 为了更好的吃这个瓜,我去拉了一下评论,吵起来了,太有意思了。

    你好呀,我是歪歪。 周末的时候吃了一个瓜,真的是太好吃了。 虽然 2022 年都还没过半,但是我个人已经把这个瓜评选为年度前三了。很久没有吃过这么有质量,又让我酣畅淋漓的瓜了。 事…

    Java 2023年6月5日
    092
  • 0.前言 在学习Java高级之前的一些想说的话

    在学习Java高级之前的一些想说的话 1.将会学到什么? IO流 线程 网络编程 XML解析 设计模式 当然,真正的JAVA高级对于每个人或者每个组织的定义可能都不太一样,这里所讲…

    Java 2023年6月13日
    082
  • 热部署只知道devtools吗?JRebel不香吗?

    前言 JRebel收费怎么破? 什么是本地热部署? 什么是远程热部署? JRebel和devtools的区别 如何安装JRebel? 如何本地热部署? 如何远程热部署? 多模块开发…

    Java 2023年6月14日
    0106
  • IDEA 设置文件编码

    打开设置,快捷键 CTRL+ALT+S或点击设置小齿轮。 建议设置成这样,统一编码,配置文件自动转换 ascii 也勾上。最后OK。 对单个文件进行设置编码,在IDEA主窗口右下角…

    Java 2023年6月7日
    0131
  • JVM_字符串常量池地址问题

    先看下代码 public class JVMDemo { public static void main(String[] args) { String s1 = "ab…

    Java 2023年6月5日
    077
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球