Java 线程池示例:使用 ExecutorService 和 Executors
以下是一个简单的 Java 线程池示例:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建一个线程池,最多同时有两个线程
ExecutorService executor = Executors.newFixedThreadPool(2);
// 提交两个任务给线程池执行
executor.execute(new Task('Task 1'));
executor.execute(new Task('Task 2'));
// 关闭线程池
executor.shutdown();
}
}
class Task implements Runnable {
private String name;
public Task(String name) {
this.name = name;
}
@Override
public void run() {
System.out.println('Starting ' + name);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println('Completed ' + name);
}
}
在此示例中,我们使用 Java 提供的ExecutorService和Executors类来创建一个线程池。我们使用newFixedThreadPool方法创建一个固定大小的线程池,最多同时有两个线程在运行。然后我们向线程池中提交两个任务,这些任务将由线程池中的线程执行。在每个任务中,我们使用Thread.sleep方法模拟一些工作,并在完成后输出一条消息。
最后,我们使用shutdown方法关闭线程池,这将等待所有任务完成并关闭所有线程。
原文地址: https://www.cveoy.top/t/topic/okzt 著作权归作者所有。请勿转载和采集!