ホームページ  >  記事  >  Java  >  Collections.synchronizedList() を使用して Java で ArrayList をスレッドセーフにする方法

Collections.synchronizedList() を使用して Java で ArrayList をスレッドセーフにする方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-26 19:59:03692ブラウズ

How to Make an ArrayList Thread-Safe in Java Using  Collections.synchronizedList()?

Java で ArrayList をスレッドセーフにする: 代替ソリューション

コード内の競合状態を軽減し、スレッドの安全性を確保するには、Collections.synchronizedList() メソッドの採用を検討してください。 。このメソッドは、既存の ArrayList を同期アクセスでラップし、その操作を簡単に保護します。

これを既存のコードに組み込む方法は次のとおりです。

<code class="java">public class Race implements RaceListener {
    private Thread[] racers;
    // Use Collections.synchronizedList() to make the ArrayList thread-safe
    private List<RaceCar> finishingOrder = Collections.synchronizedList(new ArrayList<>(numberOfRaceCars));

    // ... Remaining code ...
}</code>

Collections.synchronizedList() を利用することで、ArrayList 、finishingOrder は、同時アクセスから完全に保護されます。これにより、複数のスレッドがアクセスを競合したときに、要素の追加や削除などの操作が予期しない動作やデータ破損につながることがなくなります。

以上がCollections.synchronizedList() を使用して Java で ArrayList をスレッドセーフにする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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