我是Java的新手,在尝试实现一个简单的游戏时遇到了一个问题。 当前游戏的前提是,计时器用于添加汽车,并且更频繁地更新汽车的运动。一辆汽车可以通过触摸进行选择,并通过绘制路径进行指导。更新功能将沿着路径移动汽车。两个线程访问同一个LinkedList
现在,游戏的IndexOutOfBoundsException异常崩溃,我几乎可以肯定,这是因为偶然,当汽车重新选择,电流路径擦拭,并允许绘制了一条新路。该路径存储为LinkedList,并在车辆被碰触时清除。
我想象一下,如果通过触摸事件清除路径,而计时器线程正在更新汽车沿路径的移动,这就是错误发生的地方(也有类似的其他问题,可能会出现两个线程访问此一个列表
我的问题,在Java中,处理这个问题的最佳方式是什么?是否应该使用特定类型的列表而不是LinkedList,或者是否存在诸如C++中的Mutex之类的对象,其中在使用它的同时,我可以保护这个列表吗?
需要看到一些代码 – Woot4Moo