一心多用多线程-线程创建的三种方式
2016-10-28 15:53
302 查看
第一次了解java线程机制,记录一下线程启动的三种方式。
1.通过继承Thread类调用一个线程
注意到线程启动的时候调用的是start方法,就会自动启动线程
2.通过实现Runnable接口
把该Runnable的实现类传递给一个Thread类,创建一个线程
3.继承Callable接口
后传递给一个FutureTask,再把该FutureTask传递给一个Thread类型,然后注意,要先start 该线程,然后再调用FutureTask的get()方法,才能执行对应的线程
1.通过继承Thread类调用一个线程
public class Thread1 extends Thread{ @Override public void run() { System.out.println("线程开始运行"); } public static void main(String[] args){ Thread thread = new Thread1(); thread.start(); } }
注意到线程启动的时候调用的是start方法,就会自动启动线程
2.通过实现Runnable接口
把该Runnable的实现类传递给一个Thread类,创建一个线程
public class Thread2 implements Runnable{ /* (非 Javadoc) * @see java.lang.Runnable#run() */ @Override public void run() { System.out.println("线程开始运行"); } public static void main(String[] args){ Thread thread = new Thread(new Thread2()); thread.start(); } }
3.继承Callable接口
后传递给一个FutureTask,再把该FutureTask传递给一个Thread类型,然后注意,要先start 该线程,然后再调用FutureTask的get()方法,才能执行对应的线程
public class Thread3 implements Callable<Object>{ @Override public Object call() throws Exception { System.out.println("线程开始运行"); return null; } public static void main(String[] args) throws InterruptedException, ExecutionException{ FutureTask<Object> f = new FutureTask<>(new Thread3()); Thread thread = new Thread(f); thread.start(); f.get(); } }
相关文章推荐
- Java学习之多线程--创建线程的三种方式
- java 多线程(一)---创建线程的三种方式Thread,Runnable,Callable与Future
- 多线程-创建线程的三种方式
- Java多线程之创建线程的三种方式比较
- 【多线程】创建线程的三种方式
- 多线程创建 方法一: NSThread 创建线程的三种方式
- 0036 Java学习笔记-多线程-创建线程的三种方式
- java多线程总结一: 线程的两种创建方式及优劣比较
- C#创建线程三种方式
- 04.多线程--06.【同步方式在线程两种创建方式中的可行性】【同步代码块和同步函数的关系】【多线程程序设计思路总结】
- iOS创建线程的三种方式
- Java多线程学习总结--线程概述及创建线程的方式(1)
- java多线程总结一:线程的两种创建方式及优劣比较
- Java创建多线程的三种方式---Thread
- 【java多线程与并发库】---传统java多线程<2> 线程创建方式
- c++创建多线程的三种方式的比较 和 多线程通信
- java多线程总结一:线程的两种创建方式及优劣比较
- java多线程总结一:线程的两种创建方式及优劣比较
- 多线程_Thread类简介及创建线程的两种方式
- 【多线程】两种方式创建线程