Scala 线程安全的弱密钥哈希映射

Scala 线程安全的弱密钥哈希映射,scala,caching,concurrency,scala-collections,Scala,Caching,Concurrency,Scala Collections,我如何在Scala中获得密钥较弱的并发或线程安全的Map?例如,有collection.mutable.WeakHashMap,但它似乎不支持并发访问/更新。一个便宜的解决方案是将它隐藏在一个普通的Java同步锁后面?使用Guava的 文档中的一个示例正好显示了您需要的内容(翻译成Scala): 当然,这是Java映射,但您可以轻松地将其包装到Scala映射中: import java.{util => ju} import scala.collection.JavaConverters.

我如何在Scala中获得密钥较弱的并发或线程安全的
Map
?例如,有
collection.mutable.WeakHashMap
,但它似乎不支持并发访问/更新。一个便宜的解决方案是将它隐藏在一个普通的Java同步锁后面?

使用Guava的

文档中的一个示例正好显示了您需要的内容(翻译成Scala):

当然,这是Java映射,但您可以轻松地将其包装到Scala映射中:

import java.{util => ju}
import scala.collection.JavaConverters._
import scala.collection.mutable

val javaMap: ju.Map[String,String] = ...
val scalaMap: mutable.Map[String,String] = javaMap.asScala

好的,但是有什么东西比在一个完整的第三方库中绘图更轻吗?@0\uuuuu如果您想要一个并发(而不仅仅是同步)且具有弱键的映射,那么我认为标准库中不存在这样的实现。
import java.{util => ju}
import scala.collection.JavaConverters._
import scala.collection.mutable

val javaMap: ju.Map[String,String] = ...
val scalaMap: mutable.Map[String,String] = javaMap.asScala