Collections.SynchronizedMap(IDictionary) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回由指定之對應所支援的同步處理 (線程安全) 對應。
[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
參數
對應在同步處理對應中要「包裝」。
傳回
指定之地圖的同步檢視。
- 屬性
備註
傳回由指定之對應所支援的同步處理 (線程安全) 對應。 為了保證序列存取,請務必 <透過傳回的對應來完成對備份對應進行強>式所有</強式> 存取。
用戶必須透過 、 Spliterator
或 Stream
周遊其任何集合檢視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 屬性授權中所述的詞彙使用。