package step2;
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;
public class Task {public void runThread(int num) {// 在这里开启线程 获取线程执行的结果//请在此添加实现代码
/********** Begin **********/
Callable<Integer> callable = new ThreadCallable(num);FutureTask<Integer> futureTask = new FutureTask<>(callable);new Thread(futureTask).start();//开启线程try {Integer result = futureTask.get();System.out.println("线程的返回值为:" + result);} catch (Exception e) {e.printStackTrace();}
/********** End **********/}
}
/********** Begin **********/
/* 在这里实现Callable接口及方法 */
class ThreadCallable implements Callable<Integer> {private int num;public ThreadCallable() {}public ThreadCallable(int num) {this.num = num;}public Integer call() throws Exception {int[] arr = new int[2];arr[0] = 1;arr[1] = 1;for (int i = 2; i < num; i++) {int tmp = arr[1];arr[1] = arr[0] + arr[1];arr[0] = tmp;}return arr[1];}
}
/********** End **********/

java 多线程(Callable,Future)相关推荐

  1. Java多线程-Callable和Future

    Callable和Future出现的原因 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口. 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果. 如果需 ...

  2. java多线程-使用Future获得多线程的返回值

    我们在多线程中很多时候会需要获得线程的返回值,但是多线程又不像普通方法一样,可以直接获得返回值,那么我们应该怎么获得返回值呢? 一.使用Future获得Callable的返回值 import java ...

  3. Java多线程Callable接口

    Callable和Future出现的原因 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口.  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果.  如 ...

  4. Java多线程--使用future进行异步编程

    * 使用future进行异步编程  * 缺点:  * 不知道何时结束  * 阻塞获取结果 import java.util.concurrent.ExecutorService; import jav ...

  5. java 多线程 submit future.get方法阻塞问题的解决,实现按照任务完成的先后顺序获取任务的结果

    1.Future Future模式是多线程设计常用的一种设计模式.Future模式可以理解成:我有一个任务,提交给了Future,Future替我完成这个任务.期间我自己可以去做任何想做的事情.一段时 ...

  6. java 多线程Callable和Runable执行顺序问题详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt125 毫无疑问 Runnable会进行异步执行,此处不多说,主要说明Call ...

  7. Java多线程,Thread,Runnable,Callable Task,Future<Task>,CompletionService

    一.Java多线程的方法 1. 继承 Thread 2. 实现 Runnable 3. 实现 Callable 可以有返回值 package com.test;import java.util.Arr ...

  8. Java多线程系列--“JUC线程池”06之 Callable和Future

    转载自  Java多线程系列--"JUC线程池"06之 Callable和Future Callable 和 Future 简介 Callable 和 Future 是比较有趣的一 ...

  9. Java多线程编程:Callable、Future和FutureTask浅析(多线程编程之四)

    java多线程-概念&创建启动&中断&守护线程&优先级&线程状态(多线程编程之一) java多线程同步以及线程间通信详解&消费者生产者模式&死锁 ...

  10. Java多线程编程中Future模式的详解

    转载自 https://www.cnblogs.com/winkey4986/p/6203225.html Java多线程编程中,常用的多线程设计模式包括:Future模式.Master-Worker ...

最新文章

  1. RMAN深入解析之--控制文件
  2. LLVM language 参考手册 翻译停止相关
  3. eui自带字体是什么_阿里巴巴居然出品了两款字体,免费可商用,网友:太良心了...
  4. php查找时间,PHP 查找并算出世界各地时间
  5. python前n项和存为一个数组_在Python中存储多个数组
  6. 10.8-全栈Java笔记:序列化/反序列化的步骤和实例
  7. PowerTip of the Day-Finding Invalid Aliases
  8. 忘记mysql root管理员帐号密码处理方法
  9. Textual Description for Visualization
  10. python画条形图-用Matplotlib如何绘制条形图、直方图和散点图
  11. textview 复制粘贴_Android TextView使用剪贴板复制粘贴
  12. 详解循环神经网络RNN(理论篇)
  13. 随机过程之更新理论的应用
  14. 如何用Latex写一篇小论文
  15. 【论文阅读】利用深度自编码器神经网络预测药物相似度
  16. 自然数学-自然常数e
  17. 将文字生成png图片
  18. 自然语言处理-中文分词相关算法(MM、RMM、BMM、HMM)
  19. 反汇编代码分析--函数调用
  20. 问卷星自动填写,智能验证和滑动块

热门文章

  1. pytorch 卷积核
  2. C++学习笔记-----用位运算实现加减乘除
  3. 小强学Python+OpenCV之-1.4.4掩膜mask及位运算
  4. opencv中的approxPolyDP函数和boundingRect函数
  5. opencv图像处理常用函数
  6. 谷歌开发专家带你学AI
  7. 转图片_图片怎么转PDF?图片转PDF就用这些方法吧!
  8. 为什么wait和notify只能在synchronized中?
  9. idle和python区别_Python的IDLE与命令lin的区别
  10. c++ ifstream 文件不结束_C++核心编程 第十二节 文件操作