ScalaDoc говорит об этом как о concurrentMap: "Устаревший (начиная с версии 2.10.0) вместо этого используйте scala.collection.concurrent.Map
". К сожалению, остальные Scala docs не были обновлены и все еще ссылаются на concurrentMap
.
Я попытался смешать в concurrent.Map
в HashMap
со следующими результатами:
scala> val mmap = new mutable.HashMap[String, String] with collection.concurrent.Map[String, String]
<console>:16: error: object creation impossible, since:
it has 4 unimplemented members.
/** As seen from anonymous class $anon, the missing signatures are as follows.
* For convenience, these are usable as stub implementations.
*/
def putIfAbsent(k: String,v: String): Option[String] = ???
def remove(k: String,v: String): Boolean = ???
def replace(k: String,v: String): Option[String] = ???
def replace(k: String,oldvalue: String,newvalue: String): Boolean = ???
val mmap = new mutable.HashMap[String, String] with collection.concurrent.Map[String, String]
Итак, мы видим, что вместо простого mixin необходимо также реализовать некоторые методы. Это лучший способ использовать concurrent.Map
, или есть лучший способ?