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

相关推荐
武子康几秒前
Java-207 RabbitMQ Direct 交换器路由:RoutingKey 精确匹配、队列多绑定与日志分流实战
java·消息队列·rabbitmq·erlang·ruby·java-rabbitmq
2501_916766541 分钟前
idea多模块项目运行设置
java·intellij-idea
rannn_1111 分钟前
【SQL题解】力扣高频 SQL 50题|DAY1
后端·sql·题解
Knight_AL3 分钟前
CMS vs G1 GC 写屏障:拦截时机与漏标的根本原因
java·jvm·算法
陈震_4 分钟前
《字节外包二面凉经》
java·字节外包
IT_陈寒6 分钟前
JavaScript性能优化:7个V8引擎内部原理帮你减少90%内存泄漏的实战技巧
前端·人工智能·后端
2301_797312266 分钟前
学习Java29天
java·算法
苹果醋37 分钟前
java设计模式之责任链模式
java·运维·spring boot·mysql·nginx
Poetinthedusk9 分钟前
设计模式-模板方法模式
windows·设计模式·c#·wpf·模板方法模式
JaguarJack13 分钟前
当遇见 CatchAdmin V5-模块化设计重新定义 Laravel 后台开发
后端·php