单例模式——多线程的线程池设计Java代码

以下是一个简单的Java代码示例,演示了如何使用单例模式来设计一个多线程的线程池:

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;

public class ThreadPoolSingleton {

private static ThreadPoolSingleton instance; private ExecutorService executorService; private ThreadPoolSingleton() { executorService = Executors.newFixedThreadPool(10);

}

public static synchronized ThreadPoolSingleton getInstance() {

if (instance == null) {

instance = new ThreadPoolSingleton();

}

return instance;

}

public synchronized ExecutorService getExecutorService() {

return executorService;

}}

在这个示例中,使用了单例模式来保证在整个应用程序中只有一个ThreadPoolSingleton实例。

使用getInstance()方法来获取这个实例。

在getInstance()方法中,如果instance为空,则创建一个新的ThreadPoolSingleton实例。在getExecutorService()方法中,我们返回executorService实例,供调用方使用。由于线程池是共享资源,因此我们在getInstance()方法和getExecutorService()方法中使用了synchronized关键字,以确保线程安全。

相关推荐
Yy_Yyyyy_zz几秒前
深入理解 Go 的多返回值:语法、编译原理与工程实践
开发语言·后端·golang
独断万古他化1 分钟前
【SpringBoot 配置文件】properties 与 yml 的基础用法、格式及优缺点
java·spring boot·后端
玄〤2 分钟前
Spring MVC 讲解:从初始化流程到请求参数与 JSON 处理全解析(黑马课程ssm笔记总结)(day5)
java·spring·json·mvc
廋到被风吹走5 分钟前
【Java】【JVM】垃圾回收深度解析:G1/ZGC/Shenandoah原理、日志分析与STW优化
java·开发语言·jvm
xrkhy6 分钟前
Java全栈面试题及答案汇总(3)
java·开发语言·面试
SunnyDays10119 分钟前
Java 高效实现 CSV 转 PDF
java·csv转pdf
隐形喷火龙11 分钟前
SpringBoot 异步任务持久化方案:崩溃重启不丢任务的完整实现
java·spring boot·后端
我是koten12 分钟前
K8s启动pod失败,日志报非法的Jar包排查思路(Invalid or corrupt jarfile /app/xxxx,jar)
java·docker·容器·kubernetes·bash·jar·shell
WX-bisheyuange16 分钟前
基于Spring Boot的库存管理系统的设计与实现
java·spring boot·后端
明天好,会的17 分钟前
分形生成实验(三):Rust强类型驱动的后端分步实现与编译时契约
开发语言·人工智能·后端·rust