Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでコレクションスレッドを安全にする方法は?


コレクションのみを処理するjava.utilパッケージメソッドのCollectionsクラスは、これらのメソッドがポリモーフィックアルゴリズムを含むさまざまな追加操作を提供します。

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

メソッドと説明
Sr.No
1 静的コレクションsynchronizedCollection(コレクション c)
このメソッドは、任意のコレクションオブジェクトを受け入れ、指定されたコレクションに基づく同期された(スレッドセーフな)コレクションを返します。
2 静的リストsynchronizedList(リストリスト)
このメソッドは、Listインターフェイスのオブジェクトを受け入れ、指定されたリストに基づく同期(スレッドセーフ)リストを返します。
3 static Map synchronizedMap(Map m)
このメソッドは、Mapインターフェースのオブジェクトを受け入れ、指定されたマップに裏打ちされた同期された(スレッドセーフな)マップを返します。
4 static Set synchronizedSet(Set s)
このメソッドは、Setインターフェースのオブジェクトを受け入れ、指定されたセットに裏打ちされた同期された(スレッドセーフな)セットを返します。
5 static SortedMap synchronizedSortedMap(SortedMap m)
このメソッドは、Mapインターフェースのオブジェクトを受け入れ、指定されたソート済みマップに裏打ちされた、同期された(スレッドセーフな)ソート済みマップを返します。
6 static SortedSet synchronizedSortedSet(SortedSet s)
このメソッドは、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]

  1. Twitterでスレッドを作成する方法

    知っておくべきこと 新しいツイートを作成してから、青色の +を選択します 右下隅にあるアイコンをクリックして、2番目のツイートを開始します。スレッドが終了するまで繰り返します。 公開する準備ができたら、すべてツイートを選択します 。 Twitterのエチケットでは、最初のツイートの場合は「1/5」、2番目のツイートの場合は「2/5」のように、スレッドにツイートの数を含めるのが一般的です。 この記事では、Twitterスレッドを作成する方法について説明します。スレッドは相互に接続され、1つの連続した投稿として読み取られます。スレッドを使用して、1つのツイートでは表現できないアイデアや考え

  2. Javaでシングルトン列挙型を作成するにはどうすればよいですか?

    シングルトン patternは、クラスのインスタンス化を1つのオブジェクトに制限します。 インスタンス public static final field これは列挙型を表します 実例。 EnumSingleton.INSTANCEを使用してクラスのインスタンスを取得できます ただし、実装を変更したい場合に備えて、ゲッターにカプセル化することをお勧めします。 Javaで列挙型をシングルトンとして使用できる理由はいくつかあります 1つのインスタンスを保証しました(リフレクションを使用しても、複数の列挙型をインスタンス化することはできません)。 スレッドセーフ。 シリアル化。 構文