我是Java的新手,在嘗試實現一個簡單的遊戲時遇到了一個問題。 當前遊戲的前提是,計時器用於添加汽車,並且更頻繁地更新汽車的運動。一輛汽車可以通過觸摸進行選擇,並通過繪製路徑進行指導。更新功能將沿着路徑移動汽車。兩個線程訪問同一個LinkedList
現在,遊戲的IndexOutOfBoundsException異常崩潰,我幾乎可以肯定,這是因爲偶然,當汽車重新選擇,電流路徑擦拭,並允許繪製了一條新路。該路徑存儲爲LinkedList,並在車輛被碰觸時清除。
我想象一下,如果通過觸摸事件清除路徑,而計時器線程正在更新汽車沿路徑的移動,這就是錯誤發生的地方(也有類似的其他問題,可能會出現兩個線程訪問此一個列表
我的問題,在Java中,處理這個問題的最佳方式是什麼?是否應該使用特定類型的列表而不是LinkedList,或者是否存在諸如C++中的Mutex之類的對象,其中在使用它的同時,我可以保護這個列表嗎?
需要看到一些代碼 – Woot4Moo