java多线程之-线程创建方式
2017-12-01 12:15
381 查看
线程创建的几种方式
继承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对象封装
好了,关于线程的三种创建方式接说到这儿
相关文章推荐
- java 多线程(一)---创建线程的三种方式Thread,Runnable,Callable与Future
- 【Java多线程】什么是线程与线程的生命周期与线程的创建方式
- Java多线程与并发学习之(二):创建线程的方式
- java多线程 -- 创建线程的第三者方式 实现Callable接口
- Java多线程学习总结--线程概述及创建线程的方式(1)
- 【java多线程与并发库】---传统java多线程<2> 线程创建方式
- Java基础:多线程之线程创建的两种方式
- Java多线程基础学习之线程的创建方式总结
- java多线程技术篇--创建线程的方式
- java多线程总结一:线程的两种创建方式及优劣比较
- java多线程总结一: 线程的两种创建方式及优劣比较
- 牛客网Java刷题知识点之什么是进程、什么是线程、什么是多线程、多线程的好处和弊端、多线程的创建方式、JVM中的多线程解析、多线程运行图解
- java多线程总结一:线程的两种创建方式及优劣比较
- Java多线程之创建线程的三种方式比较
- (一) Java多线程详解之创建线程的两种方式
- Java学习之多线程--创建线程的三种方式
- Java基础:多线程(1)--线程的概述、创建线程的方式、线程的多种状态、线程常用的方法
- java多线程总结一:线程的两种创建方式及优劣比较
- Java 中的多线程-两种创建方式,定时器的应用,线程的安全问题可以用银行转账来说明
- java多线程总结一: 线程的两种创建方式及优劣比较