- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
java.util.Collections.synchronizedList
的 JavaDoc 说明如下
It is imperative that the user manually synchronize on the returned list when iterating over it:
List list = Collections.synchronizedList(new ArrayList());
...
synchronized (list) {
Iterator i = list.iterator(); // Must be in synchronized block
while (i.hasNext())
foo(i.next());
}Failure to follow this advice may result in non-deterministic behavior.
现在我想知道当我使用 scala.collection.JavaConverters
中的 .asScala
函数和 .map
时会发生什么。
转换器会在迭代期间负责同步吗?还是我仍然需要自己完成?
最佳答案
.asScala
函数返回一个 scala.collection.mutable.Buffer
,它不执行任何同步操作。
scala> Collections.synchronizedList(new util.ArrayList[Int]())
res0: java.util.List[Int] = []
scala> res0.asScala
res1: scala.collection.mutable.Buffer[Int] = Buffer()
您的问题的答案是,您必须注意同步。
关于java - 将 java.util.Collections.synchronizedList 与 Scala 的 .asScala 转换器一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46400000/
从 Scala 版本 2.9 开始,存在一个方便的转换器,可以通过编写如下内容将 java.util.List 和其他集合转换为 Scala 的数据结构: import scala.collectio
我知道如果我做 import collection.JavaConverters._ 我可以做一个javaList.asScala。但在collection.JavaConverters的API文档中
java.util.Collections.synchronizedList 的 JavaDoc 说明如下 It is imperative that the user manually synchr
我是一名优秀的程序员,十分优秀!