Ale*_*Sim 5 java concurrency atomic thread-safety concurrenthashmap
整个方法调用是原子的还是只是 BiFunction 执行是原子的?是阻止所有键还是仅阻止同一键上的调用?
以下详细信息适用于 OpenJDK Java 11。
Node这三个方法在调用方法并更新键/值时持有映射中的锁。该节点通常是哈希桶的节点链或节点树中的第一个节点。在同一存储桶中插入、更新或删除键/值对的并发尝试将被阻止,直到锁被释放。
(其他版本的 Java 的行为可能有所不同。)
整个方法调用是原子的还是只是 BiFunction 执行是原子的?
整个方法调用。
是阻止所有键还是仅阻止同一键上的调用?
中间某个地方; 往上看。但如果您遵循javadocs中的建议,那就没什么问题了。
“当计算正在进行时,其他线程在此地图上尝试的一些更新操作可能会被阻止,因此计算应该简短......”
| 归档时间: |
|
| 查看次数: |
1596 次 |
| 最近记录: |