繁体   English   中英

如果两个不同的线程(比如两个不同的 https 请求)尝试在并发哈希图中同时修改/更新相同的键,会发生什么?

[英]What will happen if two different threads(say two different https requests) try to modify/update the same key at same time in the concurrent hashmap?

如果两个不同的线程(比如两个不同的 https 请求)尝试修改/更新并发哈希图中的相同键,会发生什么?

Map mp = new ConcurrentHashMap(); 比如说,线程 t1 要添加键值对 mp.put("key", v1) & 线程 t2 也想通过两个不同的 http 同时添加相同的键但不同的值 mp.put("key", v2) requests 那么在这种情况下会发生什么? 它不会抛出任何异常吗?

并发 hashmap 会在添加/修改数据时锁定段。 当一个线程锁定一个段进行更新时,它不允许任何其他线程在同一段中执行更新,直到段上的锁没有被释放。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM