gpt4 book ai didi

java - 同步循环链表

转载 作者:行者123 更新时间:2023-12-01 04:49:06 24 4
gpt4 key购买 nike

我正在编写一个有 2 个线程的程序。一种是迭代循环链表。该列表始​​终具有下一个元素,因为链接列表是循环的。另一个线程正在修改列表。但我得到了并发修改异常。我能用它做什么?谢谢

最佳答案

假设您的实现是线程安全的(您使用哪个类?)迭代器本质上不是线程安全的。它们不持有列表上的锁,因此无法阻止其他线程修改它。

如果您的 CircularList 自行同步(不确定您使用的是什么,但这对于线程安全列表很常见 - 否则迭代器基本上总是非线程安全的),您可以通过执行以下操作来解决此问题:

synchronized(list) {
Iterator i = list.iterator();
doSomething(i);
}

另请参阅: http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Collections.html#synchronizedList(java.util.List)

关于java - 同步循环链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15319101/

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