java线程如何启动
启动Java线程的两种主要方法
继承Thread类
创建一个类继承Thread并重写run()方法,通过实例化该类的对象并调用start()方法启动线程。
class MyThread extends Thread {
@Override
public void run() {
System.out.println("Thread is running");
}
}
public class Main {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
}
}
实现Runnable接口
创建一个类实现Runnable接口并实现run()方法,将该类的实例传递给Thread构造函数,再调用start()方法。
class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("Thread is running");
}
}
public class Main {
public static void main(String[] args) {
Thread thread = new Thread(new MyRunnable());
thread.start();
}
}
使用Lambda表达式(Java 8+)
通过Lambda表达式简化Runnable接口的实现,直接传递给Thread构造函数。
public class Main {
public static void main(String[] args) {
Thread thread = new Thread(() -> {
System.out.println("Thread is running");
});
thread.start();
}
}
注意事项
- 直接调用
run()方法不会启动新线程,而是普通方法调用。 - 线程启动后由JVM调度执行,顺序不确定。
- 避免多次调用
start()方法,否则会抛出IllegalThreadStateException。







