首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

java.util.HashMap 不能用以 多线程 场景

2013-11-19 
java.util.HashMap 不能用于多线程 场景java.util.HashMap并不能直接应用于多线程环境。?对于多线程环境中

java.util.HashMap 不能用于 多线程 场景

java.util.HashMap并不能直接应用于多线程环境。

?

对于多线程环境中应用HashMap,有以下几种选择:

?

  1. 使用线程安全的java.util.Hashtable作为替代。
  2. 使用java.util.Collections.synchronizedMap方法,将已有的HashMap对象包装为线程安全的。
  3. 使用java.util.concurrent.ConcurrentHashMap类作为替代,它具有非常好的性能。

?

以上几种方法在实现的具体细节上,都或多或少地用到了互斥锁。

?

互斥锁会造成线程阻塞,降低运行效率,并有可能产生死锁、优先级翻转等一系列问题。

热点排行