通过实现Callable接口来创建Thread线程:其中,Callable接口(也只有一个方法)定义如下:

public interface Callable<V>   { V call() throws Exception;   }

步骤1:创建实现Callable接口的类SomeCallable<Integer>(略);

步骤2:创建一个类对象:

Callable<Integer> oneCallable = new SomeCallable<Integer>();

步骤3:由Callable<Integer>创建一个FutureTask<Integer>对象:

FutureTask<Integer> oneTask = new FutureTask<Integer>(oneCallable);

注释:FutureTask<Integer>是一个包装器,它通过接受Callable<Integer>来创建,   它同时实现了Future和Runnable接口。

步骤4:由FutureTask<Integer>创建一个Thread对象:   Thread oneThread = new Thread(oneTask);

步骤5:启动线程:

创建线程的第三种方法-callable futureTask相关推荐

  1. Callable接口-创建线程的第三种方法

    Callable和Runable相比 //Runnable和Callable区别 //1.Callable带返回值 //2.run()不会抛异常,call()会抛异常 //3.实现的接口不同 pack ...

  2. 创建线程的第三种方式:实现Callable接口(含部分源码解析)

    创建线程的第三种方式--实现Callable接口 package com.lqy.Multithreading; import java.util.concurrent.Callable; impor ...

  3. 创建线程的第三种方式---JDK8新特性

    创建线程的第三种方式-JDK8新特性 实现Callable接口,创建线程 Runnable和Callable接口的不同 1.Callable可以返回一个类型V,而Runnable不可以,也就是说Cal ...

  4. unix c线程同步的三种方法:互斥量、读写锁以及条件变-xhb8413-ChinaUnix博客

    unix c线程同步的三种方法:互斥量.读写锁以及条件变-xhb8413-ChinaUnix博客 unix c线程同步的三种方法:互斥量.读写锁以及条件变 2012-03-30 14:42:38 分类 ...

  5. JAVA中创建线程池的五种方法及比较

    之前写过JAVA中创建线程的三种方法及比较.这次来说说线程池. JAVA中创建线程池主要有两类方法,一类是通过Executors工厂类提供的方法,该类提供了4种不同的线程池可供使用.另一类是通过Thr ...

  6. 创建字符设备的三种方法

    将创建字符设备的三种方法记录一下,以便以后参考. 1. 使用早期的register_chardev()方法 #include<linux/kernel.h> #include<lin ...

  7. eclipse创建springboot项目的三种方法

    eclipse创建springboot项目的三种方法 方法一 安装STS插件 安装插件导向窗口完成后,在eclipse右下角将会出现安装插件的进度,等插件安装完成后重启eclipse生效 新建spri ...

  8. matlab创建三维数组的三种方法

    在Matlab中习惯性的会将二维数组中的第一维称为"行"第二维称为"列",而对于三维数组的第三位则是习惯性的称为"页".在Matlab中将三 ...

  9. Linux中创建Daemon进程的三种方法

    Linux中创建Daemon进程的三种方法 什么是daemon进程? Unix/Linux中的daemon进程类似于Windows中的后台服务进程,一直在后台运行运行,例如http服务进程nginx, ...

最新文章

  1. R语言把dataframe数据转化为tibble格式、查看每个数据列的缺失值个数、使用数据列的均值对数据列的缺失值进行填充
  2. 极光推送配置(Android Studio),亲测有效
  3. 每日一皮:这一定是“宅”的极致了...
  4. python读取windows日志_Python解析windows系统日志文件
  5. 北交大计算机学院复试经验,2014考研复试:过来人考研复试经验谈-北交大计算机系...
  6. Spring学习总结(32)—— 宣布 Spring Native Beta 版!
  7. 你会处理圆周率吗?----- Python操作文件应用举例
  8. 局域网电脑Sql2008 R2无法连接到localhost 解决方案
  9. Druid SQL注入检测
  10. html 怎么让整体居中,html中表格整体居中 详解html里面如何让表格居中
  11. 海康 hikvision SDK 初始化、登录、布防、监听
  12. HTTP 401和403区别
  13. iOS之HomeKit
  14. 《心流》| 精神熵和负熵
  15. 计算机linux二级试题,计算机二级考试题及答案
  16. 闪电连接算法之Python实现
  17. JSP实现简单的登录页面实现及代码(非连接数据库)
  18. base64转图片+图片转base64
  19. 工具及方法 - 如何保护眼睛
  20. 那些年啊,那些事——一个程序员的奋斗史 ——125

热门文章

  1. explorer.exe系统调用失败
  2. 2018html游戏引擎,技术驱动未来!全球知名游戏引擎巨头Unity确认参展2019 ChinaJoy...
  3. 「深圳搬家」空调移机有哪些注意事项?
  4. 初识BoTNet:视觉识别的Bottleneck Transformers
  5. 浮点型转换整型的快速方法介绍
  6. 小车yolo机械臂(一)ros下gazebo搭建小车(可键盘控制)安装摄像头仿真 加载yolo检测识别标记物体
  7. Webpack 4 和单页应用入门
  8. zencart商品批量设置为免运费
  9. C++功能模块8:点到线段的最短距离
  10. 【图像处理基础】基于matlab霍夫变换直线识别(拟合角平分线)【含Matlab源码 2575期】