我们在GUI日志中发现了一个ConcurrentModificationException异常,这似乎与更改支持表模型的列表有关。
订单似乎是:
由于它们都在EDT上,如果我使用synchronized关键字(或锁定),在两个地方,event2会放弃并让event1处理继续,还是我会创建一个花哨的死锁?
答案 0 :(得分:2)
似乎与更改支持表模型的列表有关。
您不应该更改列表。所有更新都应直接在模型上完成。
在许多情况下,如果你有一个ConcurrentModificationExecption,你可以将该代码包装在SwingUtilities.invokeLater()中,这样代码就会被添加到EDT的末尾,从而允许第一个事件完成处理。