线程安全的使用HashMap的三种方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wobuaizhi/article/details/83386077

一般情况下使用HashMap可以解决key-value的使用要求。

但是在对线程同步有要求的情况下,HashMap由于自身特性不能满足,可以采用下面几种方式

1,Hashtable

Map<String, String> map = new Hashtable<>()

2,ConcurrentHashMap

Map<String, String> map = new ConcurrentHashMap<>()

3,SynchronizedMap

Map<String, String> map =  Collections.synchronizedMap(new HashMap<String, Strinig>());

虽然三种方式都可以,但是从性能上面看,

ConcurrentHashMap > SynchronizedMap > Hashtable

大家可以写一个demo自己测试一下。相同数据量下ConcurrentHashMap大概只需要一半耗时(数据量够大,十万级)

猜你喜欢

转载自blog.csdn.net/wobuaizhi/article/details/83386077
今日推荐