我需要追加到Map
結構從未來,我找不到一種方法使Map
不可變(見下文)。恐怕如果Map
是可變的,那麼我將有一個競賽條件。如何修復下面的代碼?未來競爭條件追加到可變映射
object TestFutures extends App {
val m = collection.mutable.Map[Int,String]()
val f0 = Future { 0 }
val f1 = Future { 1 }
val f2 = Future { 2 }
val f3 = Future { 3 }
val f4 = Future { 4 }
val fx = Seq(f0,f1,f2,f3,f4)
fx.map {
i =>
i.map {
x =>
val s = x + ""
m += (x -> s)
}
}
Thread.sleep(5000)
println(m)
}