ホームページ  >  記事  >  Java  >  Java でスレッド オブジェクトの ArrayList のスレッド セーフ性を確保するにはどうすればよいですか?

Java でスレッド オブジェクトの ArrayList のスレッド セーフ性を確保するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-27 01:47:03460ブラウズ

How Can You Ensure Thread-Safety for an ArrayList of Thread Objects in Java?

Java での ArrayList のスレッドセーフ性の確保

問題: Thread オブジェクトの保存に使用される ArrayList (RaceCar) ) レーシング シミュレーションでは、フィニッシャーの正しい順序を維持するためにスレッド セーフティが必要です。 Collections.synchronizedCollection() を使用して ArrayList を同期しようとした最初の試行により、コンパイラ エラーが発生しました。

分析:
Collections.synchronizedCollection() は、非リスト コレクション実装のみを同期できます。具体的に ArrayList を同期するには、Collections.synchronizedList() を使用します。

解決策:

<code class="java">finishingOrder = Collections.synchronizedList(new ArrayList<>(numberOfRaceCars));</code>

このコードは、RaceCar オブジェクトを格納するためのスレッドセーフな ArrayList を正しく作成し、完走者の順位を維持します。

以上がJava でスレッド オブジェクトの ArrayList のスレッド セーフ性を確保するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。