我的 Swing GUI 显示由后台线程按顺序删除的项目的 JList。
根据 AbstractListModel 的约定,在 JList 后面是一个ArrayDeque<Card>
myHopper 实现myHopper.getSize()
和myHopper.getElementAt()
。
后台线程使用删除项目myHopper.poll()
。
毫不奇怪,我目前正在使 AWT 数组索引超出范围异常。
我应该怎么做才能在 EDT 线程和我的后台线程之间正确同步对 myList 的访问?我已经看到参考,Collections.synchronizedList(arrayList)
但我认为这不适合我的 ArrayDeque。