gpt4 book ai didi

java - 如果两个进程同时更新一个 Collection 那么会引发哪个异常?

转载 作者:行者123 更新时间:2023-12-01 19:18:46 25 4
gpt4 key购买 nike

如果应用程序中的两个进程正在更新一个 java.util.List 对象,那么会引发哪一种异常?

最佳答案

根据实现和所涉及的具体时间,可能会发生多种影响:

  • 您可能会“幸运”,不会发生任何不好的事情(这可能甚至是常见情况)。
  • 您可能会遇到ConcurrentModificationException
  • 您可能不会遇到异常,而只是丢失其中一个更新(或两者!)
  • 您可能不会遇到异常,并且其中一个更新可能会在无限循环中丢失(曾经在使用 HashMap 时发生过一次,对于简单的 List 不太可能)实现,但仍然可能)
  • 您可能不会遇到异常并在列表中引入错误的状态(例如正确插入一个元素,后跟一个 null 元素)。

问题在于,可靠地检测是否发生问题并不比从一开始就防止这些问题发生容易多少,而且用处也小得多。因此,明智的方法是酌情使用并发数据结构和/或同步。

关于java - 如果两个进程同时更新一个 Collection 那么会引发哪个异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5402863/

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