ConcurrentHashMap真的有必要吗
程序员文章站
2022-03-06 20:36:00
...
ConcurrentHashMap真的有必要吗,很多时候我们用ConcurrentHashMap来保证操作map的过程达到线程安全,
但是跟多的时候map是用来存储临时数据例如User信息
假设在一个单例类里面设置了一个共享变量map作为存储User的集合,
你还有一个方法是用来操纵map里面的user例如:
public void a(){ User user=map.get("1"); user.xxxxxxx Thread.sleep(1000*5); map.put("1",user); }
为了明显看到效果,加上了线程sleep 5秒,a方法是非线程安全的。
我想知道的是,在这种情况下,这个map是否是线程安全有什么关系?ConcurrentHashMap能保证put、get操纵达到线程安全,但是只能局限于自身,对于这个方法、业务来说打不到线程安全的要求,map就算是线程安全的又有什么意义?
我的意思就好像一个球队输了,就算其中一个球员表现很抢眼又有什么意义?你说呢?
上一篇: mysql 乱码问题
下一篇: 如何一天快速了解PHP运算符(详细介绍)