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

相关推荐
源代码•宸4 分钟前
Leetcode—3. 无重复字符的最长子串【中等】
经验分享·后端·算法·leetcode·面试·golang·string
Wpa.wk19 分钟前
持续集成 - 持续集成工具-Jenkins的部署流程
java·运维·经验分享·ci/cd·自动化·jenkins
佳哥的技术分享29 分钟前
Function<T, R> 中 apply,compose, andThen 方法总结
java·学习·r语言
wangmengxxw33 分钟前
SpringAI-结构化输出API
java·人工智能·springai
0和1的舞者34 分钟前
基于Spring的论坛系统-前置知识
java·后端·spring·系统·开发·知识
咕噜企业分发小米34 分钟前
腾讯云和火山引擎在多云管理工具上如何实现成本优化?
java·腾讯云·火山引擎
不平衡的叉叉树38 分钟前
从JDK 1.8到JDK 21:实用新特性
java
Yu_Lijing39 分钟前
基于C++的《Head First设计模式》笔记——状态模式
c++·笔记·设计模式
鱼跃鹰飞42 分钟前
Leetcode1027:最长等差数列
java·数据结构·算法