Compartir a través de


Collections.SynchronizedMap(IDictionary) Método

Definición

Devuelve un mapa sincronizado (seguro para subprocesos) respaldado por el mapa especificado.

[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

Parámetros

m
IDictionary

mapa que se va a "encapsular" en un mapa sincronizado.

Devoluciones

una vista sincronizada del mapa especificado.

Atributos

Comentarios

Devuelve un mapa sincronizado (seguro para subprocesos) respaldado por el mapa especificado. Para garantizar el acceso serie, es fundamental que <el acceso seguro>a todo</fuerte> al mapa de respaldo se realice a través del mapa devuelto.

Es imperativo que el usuario sincronice manualmente en el mapa devuelto al recorrer cualquiera de sus vistas de colección a través Iteratorde , Spliterator o 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());
             }

Si no se sigue este consejo, se puede producir un comportamiento no determinista.

El mapa devuelto será serializable si el mapa especificado es serializable.

Documentación de Java para java.util.Collections.synchronizedMap(java.util.Map<K, V>).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a