scala 保持插入顺序的线程安全Map

dxpyg8gm  于 5个月前  发布在  Scala
关注(0)|答案(1)|浏览(82)

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

sf6xfgos

sf6xfgos1#

是的,在scala.collection.concurrent包中有一个trait:concurrent.Map它只是一个trait,所以只要将这个trait混入到Map中,它就会成为线程安全的。
如果你需要一个好的并发Map,试试google的ConcurrentLinkedHashMap(最新版本2015),并使用Scala/Java converter将其转换为Scala Map,这将给予比mixin SynchronizedMap更高的性能。例如我最喜欢的Spray工具包,将其用作实现其缓存模块的核心结构。正如你可以see一样,spray是最快的Scala web工具包

相关问题