私は答えを見つけるのに一生懸命探してきましたが、何が間違っているのかわかりません。JAVAスレッドの使い方を学んでいます。事は、私は宇宙船のゲームをやっています. 敵を作成するメソッドが 1 つあります (これらの敵は、動きを効果的にするためにペイントされた ArrayList に追加されます)。この ArrayList で死んだ敵を探す別のメソッドがあります (dead はブール値で、敵が画面から消えた場合、または殺された場合に true になります)。もう描かれません)。createEnemy メソッドを使用するスレッドが 1 つあります (問題なく動作します)。問題が発生しました。この ereaseEnemy メソッドを使用する必要がありますが、同時実行エラーが発生します。両方のメソッドで同期を使用しようとしましたが、ereaseEnemy メソッドが機能しません。これを修正する方法がわかりません。最初のスレッド (クリエーター) を停止して、他のスレッドを機能させますか? ここで何か足りないのですか?ありがとう!
敵を排除するコード
for (Enemigo enemigo1 : enemigos) {
if (!enemigo1.isEstaVivo()) { enemigos.remove(enemigo1); }
}