Collections.SynchronizedNavigableMap(INavigableMap) 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 navegable sincronizado (seguro para subprocesos) respaldado por el mapa navegable especificado.
[Android.Runtime.Register("synchronizedNavigableMap", "(Ljava/util/NavigableMap;)Ljava/util/NavigableMap;", "", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public static Java.Util.INavigableMap SynchronizedNavigableMap(Java.Util.INavigableMap m);
[<Android.Runtime.Register("synchronizedNavigableMap", "(Ljava/util/NavigableMap;)Ljava/util/NavigableMap;", "", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
static member SynchronizedNavigableMap : Java.Util.INavigableMap -> Java.Util.INavigableMap
Parámetros
mapa navegable que se va a "encapsular" en un mapa navegable sincronizado
Devoluciones
una vista sincronizada del mapa navegable especificado.
- Atributos
Comentarios
Devuelve un mapa navegable sincronizado (seguro para subprocesos) respaldado por el mapa navegable especificado. Para garantizar el acceso en serie, es fundamental que <el acceso seguro>y< seguro> al mapa navegable de respaldo se realice a través del mapa navegable devuelto (o sus vistas).
Es imperativo que el usuario sincronice manualmente en el mapa navegable devuelto al recorrer cualquiera de sus vistas de colección, o las vistas de colecciones de cualquiera de sus subMapvistas , headMap o tailMap , a través Iteratorde o SpliteratorStream:
NavigableMap m = Collections.synchronizedNavigableMap(new TreeMap());
...
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());
}
or:
NavigableMap m = Collections.synchronizedNavigableMap(new TreeMap());
NavigableMap m2 = m.subMap(foo, true, bar, false);
...
Set s2 = m2.keySet(); // Needn't be in synchronized block
...
synchronized (m) { // Synchronizing on m, not m2 or s2!
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 navegable devuelto se serializará si el mapa navegable especificado es serializable.
Agregado en la versión 1.8.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.