保留插入顺序的线程安全映射

时间:2013-07-09 05:17:26

标签: scala collections thread-safety

在我的Scala应用程序中,我需要使用几个经常更新的地图和列表。 Scala中是否存在维护插入顺序的任何线程安全集合?

1 个答案:

答案 0 :(得分:5)

是的,scala.collection.concurrent包中有一个特性:concurrent.Map它只是一个特征,所以只需将这个特性混合到你的地图中它就会变得是线程安全的。

如果您需要良好的并发地图,请尝试使用Google ConcurrentLinkedHashMap并使用Scala/Java converter将其转换为Scala地图,这样可以提高mixin SynchronizedMap的性能。例如,我最喜欢的Spray工具包,use它作为一个核心结构,用于实现它的缓存模块。正如您所能see,spray是最快的Scala Web工具包