作者:盼抽淡了烟的悲伤 | 来源:互联网 | 2024-10-11 19:29
我的游戏更新循环不断地遍历ArrayList,我还有一个KeyListener,当按下按钮时,它会向此ArrayList添加一个Object,这似乎导致并发修改异常.经过大量的调查
我的游戏更新循环不断地遍历ArrayList,我还有一个KeyListener,当按下按钮时,它会向此ArrayList添加一个Object,这似乎导致并发修改异常.
经过大量的调查后,我决定最好尝试(我对Java很新)找出一种方法将关键事件合并到主线程中.鉴于这种情况,我该怎么做,或者有没有办法做到这一点,我没有看到?谢谢.
PS:我可以研究更高级的方法,但我宁愿尝试保持它相当单线程并将关键事件传递给主线程.
解决方法:
我假设您正在运行一个事件循环,您希望将事件添加到正文的末尾.如果是这样,您可能希望使用java.util.Queue实现,例如LinkedList并执行
while((event=queue.poll()) != null) {
/* process event */
queue.add(keyEvent);
}