【JavaEE精炼宝库】多线程线程池
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建固定大小的线程池
ExecutorService executorService = Executors.newFixedThreadPool(4);
// 提交任务到线程池执行
for (int i = 0; i < 10; i++) {
executorService.execute(new RunnableTask());
}
// 关闭线程池,以优雅的方式
executorService.shutdown();
}
}
class RunnableTask implements Runnable {
@Override
public void run() {
System.out.println("正在执行任务,由线程 " + Thread.currentThread().getName() + " 执行");
try {
// 模拟任务执行的时间
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
这段代码创建了一个固定大小的线程池,并向这个线程池提交了10个简单的任务。每个任务的执行会打印出执行任务的线程名,并且每个任务会模拟执行2秒钟。最后,代码优雅地关闭了线程池。这是Java多线程编程中使用线程池的一个基本示例。
评论已关闭