言語

Collections.SynchronizedMap(IDictionary) メソッド

定義

指定したマップに基づく同期された (スレッド セーフな) マップを返します。

[Android.Runtime.Register("synchronizedMap", "(Ljava/util/Map;)Ljava/util/Map;", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public static System.Collections.IDictionary SynchronizedMap(System.Collections.IDictionary m);
[<Android.Runtime.Register("synchronizedMap", "(Ljava/util/Map;)Ljava/util/Map;", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
static member SynchronizedMap : System.Collections.IDictionary -> System.Collections.IDictionary

パラメーター

m
IDictionary

同期されたマップで "ラップ" されるマップ。

返品

指定したマップの同期ビュー。

属性

注釈

指定したマップに基づく同期された (スレッド セーフな) マップを返します。 シリアル アクセスを保証するために、バッキング マップへの <strong>all</strong> アクセスは、返されたマップを介して実行することが重要です。

IteratorSpliterator、またはStreamを介してコレクション ビューのいずれかを走査する場合、返されたマップでユーザーが手動で同期することが不可欠です。

Map m = Collections.synchronizedMap(new HashMap());
                 ...
             Set s = m.keySet();  // Needn't be in synchronized block
                 ...
             synchronized (m) {  // Synchronizing on m, not s!
                 Iterator i = s.iterator(); // Must be in synchronized block
                 while (i.hasNext())
                     foo(i.next());
             }

このアドバイスに従わないと、非決定的な動作が発生する可能性があります。

指定したマップがシリアル化可能な場合、返されるマップはシリアル化できます。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象