java如何新建线程
创建线程的方法
在Java中,可以通过继承Thread类或实现Runnable接口来创建线程。以下是两种方法的详细说明。
继承Thread类
通过继承Thread类并重写run()方法,可以创建一个线程。以下是示例代码:

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()方法,可以创建线程任务。然后将Runnable实例传递给Thread类的构造函数。以下是示例代码:
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接口的实现:

public class Main {
public static void main(String[] args) {
Thread thread = new Thread(() -> {
System.out.println("Thread is running");
});
thread.start();
}
}
使用线程池
对于需要管理多个线程的场景,推荐使用线程池(ExecutorService):
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Main {
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(5);
executor.execute(() -> {
System.out.println("Thread is running");
});
executor.shutdown();
}
}
线程的生命周期
线程的生命周期包括新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和终止(Terminated)状态。调用start()方法后,线程进入就绪状态,等待调度器分配CPU资源。
注意事项
- 直接调用
run()方法不会启动新线程,而是在当前线程中执行任务。 - 避免频繁创建和销毁线程,推荐使用线程池管理线程资源。
- 线程同步和线程安全是多线程编程中的重要问题,需使用
synchronized或Lock等机制处理。






