gpt4 book ai didi

java - CopyOnWriteArrayList/ConcurrentHashMap内部如何处理Concurrent修改异常?

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:00:04 25 4
gpt4 key购买 nike

我想在内部了解并发修改异常是如何在并发集合中处理的,例如 ConcurrentHashMapCopyOnWriteArrayList

网上有很多博客建议使用这两种数据结构来避免并发修改异常。但没有任何解释,这个异常是如何由并发收集在内部处理的。

有人可以对此提供更多见解吗?我需要一些详细的解释。

最佳答案

您问题的字面答案不是很有趣。 ConcurrentHashMapCopyOnWriteArrayList 不会抛出 ConcurrentModificationException,因为它们不包含抛出它的代码。

它不像 ConcurrentModificationException 是一些低级内在的东西。 ArrayListHashMap 以及其他集合类抛出 ConcurrentModificationException帮助您。它们必须包含额外代码 以尝试检测并发修改,以及额外代码以抛出异常。 ConcurrentModificationException 当其中一个类检测到某处存在错误导致对您的集合进行不安全修改时抛出。

支持安全并发修改的类不会抛出 ConcurrentModificationException,因为它们不需要。

如果您正在尝试调试 ConcurrentModificationException,还有很多其他问题可以帮助回答这个问题:

关于java - CopyOnWriteArrayList/ConcurrentHashMap内部如何处理Concurrent修改异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55794704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com