Collections.SynchronizedMap(IDictionary) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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 Iterator
de , 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.