java多线程使用详解与案例,超详细

Lambda表达式方式启动线程

public static void main(String[] args) {
new Thread(()->{
System.out.println("开始了一个线程"+new Date());
}).start();
}

Java多线程使用的三种方式

  1. 继承Thread类,并重写run方法
  2. 实现Runnable接口,重写run方法
  3. 实现Callable<返回值>接口,重写call方法

继承Thread类

public class ThreadDemo02 extends  Thread{

@Override
public void run() {
System.out.println("你好呀");
}

public static void main(String[] args) {
new ThreadDemo02().start();
}

}

实现Runnable接口

public class ThreadDemo03 implements  Runnable{

@Override
public void run() {
System.out.println("你好呀");
}

public static void main(String[] args) {
new Thread(new ThreadDemo03()).start();
}

}

实现callable

public class ThreadDemo04 implements Callable<Boolean> {

@Override
public Boolean call() throws Exception {
System.out.println("你好呀");
return Thread.currentThread().isAlive();
}

public static void main(String[] args) {

FutureTask<Boolean> task = new FutureTask<>(new ThreadDemo04());
new Thread(task).start();
System.out.println("线程执行结果:"+task.get());

}
}

控制台

你好呀
线程执行结果:true