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

相关推荐
掉鱼的猫14 分钟前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·spring boot
程序边界14 分钟前
lac_agent自愈链路上篇——crontab守护的那些坑与健康检查实战
后端
笨鸟飞不快17 分钟前
从 MVC 到 DDD:一次真实的渐进式迁移实录
后端·架构
plainGeekDev18 分钟前
广播接收器 → Flow + Lifecycle
android·java·kotlin
程序员威哥18 分钟前
C#也能玩转YOLO:工业视觉原生推理方案,零Python依赖
后端
plainGeekDev19 分钟前
EventBus → SharedFlow
android·java·kotlin
kfaino21 分钟前
你好,我叫 Prompt——其实,你一直在给 AI 写程序
后端·openai·ai编程
带刺的坐椅28 分钟前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·springboot·web·solon
青禾网络30 分钟前
Web 前端如何接入 AI 音效生成:从零到可用的完整方案
人工智能·设计模式
用户3721574261351 小时前
Java 将一个 PPT 文档拆分为多个文件
java