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

要“包装”在同步映射中的映射。

返回

指定映射的同步视图。

属性

注解

返回由指定映射支持的已同步(线程安全)映射。 为了保证串行访问,必须 <通过返回的映射实现对后盾映射的强>所有</强> 访问。

用户必须通过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.util.Collections.synchronizedMap(java.util.Map<K, V>)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于