Java 8在集合框架中的接口上添加了许多默认方法,但是
Collections.synchronizedX
方法的JavaDoc几乎没有改变。我不确定在它们返回的结果上调用新的默认方法是否安全?我检查了Oracle JDK源代码,它们似乎被重写为线程安全,但是所有JDK都有保证吗?
Collections.synchronizedNavigableMap
。这与质量无关,只是因为接口和特定实现是同一个库的一部分,因此保持同步。 - Holgersynchronized...
集合包装器,因为现实操作几乎总是复合的,并且需要显式锁定。因此,一开始就使用显式锁定不会给人错误的印象,即线程安全就像同步每个方法一样简单。它避免了像臭名昭著的检查-然后-执行反模式这样的错误。 - Holger