java多线程之-线程创建方式
来源:互联网 发布:淘宝上有卖迷幻听话水 编辑:程序博客网 时间:2024/05/21 06:52
线程创建的几种方式
- 继承Thread类
public class Thread01 extends Thread{ @Override public void run() { //耗时任务 }}
- 实现Runnable接口
public class Thread02 implements Runnable{ @Override public void run() { // 耗时任务 }}
- 实现Callable接口
public class Thread03 implements Callable<Integer> { @Override public Integer call() throws Exception {//执行线程任务,带返回值 // TODO Auto-generated method stub return 1; }}
调用方式:
//1.extends Thread方式 Thread01 thread01 = new Thread01(); thread01.start(); //2.implements Runnable方式 Thread02 thread02 = new Thread02(); new Thread(thread02).start(); //3.implements Callable方式 Thread03 thread = new Thread03(); FutureTask<Integer> task = new FutureTask<Integer>(thread); new Thread(task).start(); System.out.println(task.get());
对于第三种方式,Future封装了call()的返回值,而FutureTask是Future的实现类,FutureTask通过get方法获取其返回值。
Callable与Runnable的区别
JDK1.5之前,我们主要通过前两种方式实现线程,JDK1.5之后引入了Callable接口的方式,主要是为了解决强两种方式的不足,不管Thread类还是Runnable接口都不能申明检查型异常,其实现方法也没有返回值。Callable跟Runnable差不多,主要区别在于:
- Callable的实现方法为call().并且带有返回值
- call()方法可以抛出异常
- call()返回值由Future对象封装
好了,关于线程的三种创建方式接说到这儿
阅读全文
0 0
- 浅谈java多线程之创建线程方式
- java多线程之-线程创建方式
- Java基础:多线程之线程创建的两种方式
- java多线程之创建线程的两种传统方式
- Java多线程基础学习之线程的创建方式总结
- Java多线程之创建线程
- java多线程---线程的创建方式
- java多线程简介及线程创建方式
- Java基础多线程之线程创建
- Java多线程之线程的创建
- Java多线程之线程的创建
- java多线程之--线程池的创建
- JAVA多线程机制之线程创建
- Java多线程之线程创建和启动
- Java多线程之创建任务和线程
- java 多线程学习之创建线程
- java多线程之创建和启动线程
- java多线程学习(一)之创建线程的两种方式
- 用scala 写spark程序
- 737. Sentence Similarity II
- buildroot工作原理(第14zhan)
- Map中提供的一个算法(提供一个值,返回大于等于该值的最接近的2的指数幂)
- 讲解交叉验证函数较清晰的一篇博文
- java多线程之-线程创建方式
- 处理 Windows 虚拟机的计划内维护通知
- 纯CSS3动画之旋转的立方体
- springCloud 配置中心细节
- 有关JSP
- to be or not to be
- 欢迎使用CSDN-markdown编辑器
- 论文阅读学习
- maven安装时遇到的一个问题