語言

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

該地圖將被「包裹」成同步映射。

傳回

這是指定地圖的同步視圖。

屬性

備註

回傳一個同步(執行緒安全)的映射,並由指定映射作為後盾。 為了確保序列存取, <必須透過回傳的映射實現強>全/<強> 存取。

使用者在瀏覽任何集合視圖 Iterator時,必須手動同步回傳地圖,透過 或 SpliteratorStream:

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.util.Collections.synchronizedMap(java.util.Map<K, V>)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於