您的位置:首页 > 其它

一心多用多线程-线程创建的三种方式

2016-10-28 15:53 302 查看
第一次了解java线程机制,记录一下线程启动的三种方式。

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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  多线程