1.继承Thread类
public class ThreadNew {
public static void main(String[] args) {
new MyThread1().start();
}
//1.继承Thread类
class MyThread1 extends Thread{
@Override
public void run() {
System.out.println("MyThread1");
}
}
2.实现Runnable接口
public class ThreadNew {
public static void main(String[] args) {
new Thread(new MyThread2()).start();
}
//2.实现Runnable接口
class MyThread2 implements Runnable{
@Override
public void run() {
System.out.println("MyThread2");
}
}
3.直接使用匿名内部类的方式
public class ThreadNew1 {
public static void main(String[] args) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("MyThread4");
}
});
thread.start();
}
}
4.使用Lambda表达式的方式
public class ThreadNew2 {
public static void main(String[] args) {
Thread thread = new Thread(() -> System.out.println("MyThread5"));
thread.start();
}
}
5.利用线程池创建线程
public class ThreadNew3 implements Runnable {
public static void main(String[] args) {
ExecutorService executorService= Executors.newFixedThreadPool(10);
executorService.execute(new ThreadNew3());
}
@Override
public void run() {
System.out.println("MyThread6");
}
}