我应该如何管理对ArrayDeque的多线程并发访问?

Cha*_*hap 3 java concurrency jlist deque

我的Swing GUI显示由后台线程顺序删除的项目的JList.

后面将JList是ArrayDeque<Card>,myHopper,实施myHopper.getSize()myHopper.getElementAt(),作为每一个的AbstractListModel的合同.

后台线程使用删除项目myHopper.poll().

毫不奇怪,我目前正在获得超出范围的AWT数组索引.

我应该怎么做才能在EDT线程和后台线程之间正确同步对myList的访问?我看过参考文献,Collections.synchronizedList(arrayList)但我不认为这适合我的ArrayDeque.

Mau*_*res 5

您是否尝试过只使用一个LinkedBlockingDeque代替ArrayDeque?