ホームページ  >  記事  >  Java  >  Java でコレクションをスレッドセーフにする方法は?

Java でコレクションをスレッドセーフにする方法は?

WBOY
WBOY転載
2023-08-31 14:53:06674ブラウズ

Java でコレクションをスレッドセーフにする方法は?

Collections クラスは、コレクションの java.util パッケージ メソッドの処理に特化しており、多態性アルゴリズムに関連するさまざまな追加操作を提供します。

このクラスは、以下に示すように、synchronizedCollection() メソッドのさまざまなバリアントを提供します。

#2#3static4static 5static 6static例
Sr.No メソッドと説明
1 staticCollectionsynchronizedCollection(Collectionc)

このメソッドは、任意のコレクション オブジェクトを受け入れ、指定されたコレクションに基づく同期された (スレッドセーフな) コレクションを返します。

staticListsynchronizedList(ListList) このメソッドは、List インターフェイスのオブジェクトを受け入れ、指定されたリストに基づいた同期された (スレッドセーフな) リストを返します。

MAPsynchronizedMap(MAPmeter) このメソッドは、Map インターフェイスのオブジェクトを受け取り、指定されたマッピングに基づいた同期された (スレッドセーフな) マップを返します。

SetsynchronizedSet(Set s) このメソッドは Set インターフェイスのオブジェクトを受け取り、指定されたコレクションによってサポートされる同期された (スレッドセーフな) コレクションを返します。

SortedMap synchronizedSortedMap(SortedMap m) このメソッドは、Map インターフェイスのオブジェクトを受け入れ、指定された並べ替えられたマップに基づいて同期された (スレッドセーフな) 並べ替えられたマップを返します。

SortedSetsynchronizedSortedSet(SortedSets) このメソッドは、SynchronizedSortedSet インターフェイスのオブジェクトを受け取り、指定されたソート セットに従って同期された (スレッドセーフな) ソート セットを返します。

リアルタイム デモンストレーション

import java.util.Collection;
import java.util.Collections;
import java.util.Vector;
public class CollectionReadOnly {
   public static void main(String[] args) {
      //Instantiating an ArrayList object
      Vector<String> vector = new Vector<String>();
      vector.add("JavaFx");
      vector.add("Java");
      vector.add("WebGL");
      vector.add("OpenCV");
      System.out.println(vector);
      Collection<String> synchronizedVector = Collections.synchronizedCollection(vector);
      System.out.println("Synchronized "+synchronizedVector);
      synchronizedVector.add("CoffeeScript");
   }
}

出力

[JavaFx, Java, WebGL, OpenCV]
Synchronized [JavaFx, Java, WebGL, OpenCV]

以上がJava でコレクションをスレッドセーフにする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。