实现Java线程创建方式
2019-05-30 16:10
204 查看
创建线程的方式
(1)继承Thread类进行创建
[code]public class MyThread extend Thread{ public void run(){ //重写run()方法; } } public class Main{ public static void main(String[] args){ new MyThread().start(); //创建并启动线程 } }
(2)实现Runnable接口进行创建
通过实现Runnable接口并重写run方法,并把Runnable实例传给Thread对象,Thread的start方法调用run方法再通过调用Runnable实例的run方法启动线程。
[code]public class MyRunnable implements Runnable{ public void run(){ //重写run()方法; } } public class Main{ public static void mian(String[] args){ MyRunnable myrun = new MyRunnable(); //创建线程 Thread thread = new Thread(myrun); //把Runnable实例传给Thread对象 thread.start(); //启动线程 } }
(3) 实现Callable接口
通过实现Callable接口并重写call方法,并把Callable实例传给FutureTask对象,再把FutureTask对象传给Thread对象。
[code]public class MyCallable implements Callable{ public void call() throws Exception{ //重写call()方法; } } public class Main{ public static void mian(String[] args){ MyCallable mycall = new MyCallable (); //创建线程 FutureTask<T> myfu = new FutureTask<>(mycall); //Callable实例传给FutureTask对象 Thread thread = new Thread(myfu); //把FutureTask对象传给Thread对象 thread.start(); //启动线程 } }
注意:实现Callable接口与Thread、Runnable最大的不同是,Callable能返回一个异步处理的结果Future对象并能抛出异常,而其他两种不能。
相关文章推荐
- java创建线程的三种实现方式
- Java核心内库-线程-通过实现Runnable接口的方式创建并启动线程
- Java多线程:创建线程的两种实现方式
- Java并发学习之四种线程创建方式的实现与对比
- java创建线程的第二种方式:实现Runnable接口
- 创建java线程方式之三实现Callable接口
- Java创建线程的四种实现方式
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- java多线程 -- 创建线程的第三者方式 实现Callable接口
- Java 线程的创建方式
- Java中线程实现的两种方式例程
- java核心知识点学习----创建线程的第三种方式Callable和Future CompletionService
- Java【多线程知识总结(4)】通过实现Runnable接口创建线程
- 黑马程序员_java创建线程的两种方式
- java多线程-售票例子-创建线程-实现Runnable接口
- java线程两种创建方式的区别与模拟买票情景
- java多线程总结一:线程的两种创建方式及优劣比较
- java创建线程的两种传统方式
- java线程:三种方式实现生产者消费者问题_1