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();
}
}
调用start()方法会启动线程并执行run()方法中的代码。
实现Runnable接口
通过实现Runnable接口并重写run()方法可以创建线程任务。以下是示例代码:
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();
}
}
将Runnable实例传递给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();
}
}
线程池通过execute()方法提交任务,任务会自动分配给空闲线程执行。
线程的常见方法
start():启动线程。run():定义线程执行的任务。sleep(long millis):使线程休眠指定毫秒数。join():等待线程执行完毕。interrupt():中断线程。
通过以上方法,可以根据需求灵活地创建和管理线程。







