Java中四种常见的创建线程的方式
1、重写Thread类的run方法
1.1、new Thread 对象匿名重写run方法
new Thread(){
@Override
public void run() {
System.out.println("进程创建方式1.1");
}
}.start();
1.2、继承Thread,重写run方法
class MyThread extends Thread{
@Override
public void run() {
System.out.println("进程创建方式1.2");
}
}
new MyThread().start();
2、实现Runable接口,重写run方法
2.1、new Runable对象,匿名重写run方法
Runnable runnable = new Runnable(){
@Override
public void run() {
System.out.println("进程创建方式2.1");
}
};
new Thread(runnable).start();
2.2、实现Runable接口,重写run方法
class MyRuncable implements Runnable{
@Override
public void run() {
System.out.println("进程创建方式2.2");
}
}
new Thread(new MyRuncable()).start();
3、实现Callable接口,使用FutureTask类创建线程
class MyCallable implements Callable{
@Override
public String call() throws Exception {
System.out.println("调用 call");
return "进程创建方式3";
}
}
FutureTask ft = new FutureTask(new MyCallable());
new Thread(ft).start();
try {
System.out.println("输出结果:"+ft.get());
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
4、使用线程池创建、启动线程
ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor();
singleThreadExecutor.submit(new Runnable() {
@Override
public void run() {
System.out.println("进程创建方式4");
}
});
singleThreadExecutor.shutdown();