标签:ring 创建 adp 固定 print 接口 exit 消费者 技术
线程池是一种池化资源,其主要解决重复创建线程带来的额外开销。线程池的设计使用了生产者-消费者模型。向线程池中提交一个计算任务,执行提交动作的线程是生产者,线程池中的线程作为消费者来执行具体的计算。
Java中Executor是线程池的顶层抽象接口,其提供了一个最基本的方法定义:执行任务。
ExecutorService拓展了Executor接口,提供了管理线程池、批量执行任务的接口。
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Main {
public static void main(String[] args) {
// 使用静态方法创建一个线程数为固定大小的线程池
ExecutorService pool = Executors.newFixedThreadPool(1);
// 定义一个任务
Runnable task = () -> {
System.out.println("[" + Thread.currentThread().getName() + "] is execute task");
};
// 因为ExecutorService拓展了Executor接口因此可以调用execute方法来执行计算任务
pool.execute(task);
// 使用完线程池之后要主动关闭线程池,销毁线程。
pool.shutdown();
System.out.println("[" + Thread.currentThread().getName() + "] exit");
}
}
执行结果:
Java 并发编程学习(三):Executor和ExecutorService
标签:ring 创建 adp 固定 print 接口 exit 消费者 技术
原文地址:https://www.cnblogs.com/chenyulin/p/14361464.html