单例模式——多线程的线程池设计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关键字,以确保线程安全。

相关推荐
独自破碎E1 分钟前
【面试真题拆解】Java锁机制:synchronized、ReentrantLock、锁升级、可重入锁
java·开发语言·面试
努力往上爬de蜗牛2 分钟前
extends
java·开发语言
逆境不可逃9 分钟前
【从零入门23种设计模式23】行为型之模板模式
java·开发语言·算法·设计模式·职场和发展·模板模式
IronMurphy11 分钟前
【算法二十五】105. 从前序与中序遍历序列构造二叉树 236. 二叉树的最近公共祖先
java·数据结构·算法
Java水解14 分钟前
Spring Boot 数据仓库与ETL工具集成
spring boot·后端
snakeshe101017 分钟前
从 MySQL 到 Elasticsearch:构建高性能新闻爬虫的数据存储与搜索体系
java
技术小白菜17 分钟前
海康平台通过代理播放视频流
java·java ee
学习3人组19 分钟前
Workerman实现 WSS 基于客户端 ID 的精准推送
android·java·开发语言
Cache技术分享19 分钟前
355. Java IO API -去除路径中的冗余信息
前端·后端
百结21420 分钟前
Nginx性能优化与监控实战
java·nginx·性能优化