共用方式為


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

對應在同步處理對應中要「包裝」。

傳回

指定之地圖的同步檢視。

屬性

備註

傳回由指定之對應所支援的同步處理 (線程安全) 對應。 為了保證序列存取,請務必 <透過傳回的對應來完成對備份對應進行強>式所有</強式> 存取。

用戶必須透過 、 SpliteratorStream周遊其任何集合檢視Iterator時,在傳回的地圖上手動同步處理:

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 屬性授權中所述的詞彙使用。

適用於