springIOC容器

论坛 期权论坛 脚本     
匿名网站用户   2020-12-21 07:58   28   0

利用SpringIOC实现策略模式有必要使用ConcurrentHashMap吗?

1、

Spring 项目中很多 bean 都设计成配置完成后线程安全的, 也是就是在 Spring 初始化阶段, 因为 Spring 本身是单线程初始化, 不会遇到问题, 初始化完成后, 不再修改, 属性只读, 也就不存在多线程修改造成竞态的问题. 你要确保在使用过程中不修改, 也就不需要 ConcurrentHashMap, 反过来说是要用的.

2、

一般情况下Service线程安全的,并不是因为它是单例的,而是因为贫血模型中Service基本上都是无状态的。
假设你是以下面的方式将Service注入到Map的:

@AutowiredprivateMap<String,TypeInterface>services;

这个Map是否需要ConcurrentHashMap得看你怎么使用这个services,假设你在Spring初始化以后就不在更新services中的内容只是从中获取service,那么没必要使用ConcurrentHashMap。反之如果你会在之后多线程更新这个Map,那么就需要使用ConcurrentHashMap

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP