【发布时间】:2014-11-18 09:47:12
【问题描述】:
Joshua Bloch 的 Effective Java,第二版,第 69 条指出
[...] 提供 高并发,这些实现在内部管理它们自己的同步(条目 67)。因此,不可能排除并发活动 并发集合;锁定它不会有任何效果,但会减慢程序。
最后这句话正确吗?如果两个线程锁定该集合并在该锁定内执行多个操作,这些操作可能仍是交错的?
为了使语句正确,我希望这些集合在内部运行您无法同步的线程,或者它们以某种方式“覆盖”标准同步行为,使得像 synchronized(map){ ... } 这样的语句的行为不同于“正常” ' 目的。从答案/cmets 到相关问题,我认为如果这些都不是真的:
为避免可能的误解:
- 我知道并发集合的设计正是为了避免这种全局锁定,我的问题是原则上是否可行
- 我发现 Effective Java 是一本非常棒的书,我只是想弄清楚某个特定项目。
【问题讨论】:
标签: java concurrency effective-java