Compartir a través de


Collections.SynchronizedNavigableSet(INavigableSet) Método

Definición

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

[Android.Runtime.Register("synchronizedNavigableSet", "(Ljava/util/NavigableSet;)Ljava/util/NavigableSet;", "", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static Java.Util.INavigableSet SynchronizedNavigableSet (Java.Util.INavigableSet s);
[<Android.Runtime.Register("synchronizedNavigableSet", "(Ljava/util/NavigableSet;)Ljava/util/NavigableSet;", "", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member SynchronizedNavigableSet : Java.Util.INavigableSet -> Java.Util.INavigableSet

Parámetros

s
INavigableSet

el conjunto navegable que se va a "encapsular" en un conjunto navegable sincronizado

Devoluciones

una vista sincronizada del conjunto navegable especificado

Atributos

Comentarios

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

Es imperativo que el usuario sincronice manualmente en el conjunto navegable devuelto al recorrerlo, o cualquiera de sus subSetvistas , headSeto tailSet , a través Iteratorde Streamo Spliterator :

NavigableSet s = Collections.synchronizedNavigableSet(new TreeSet());
                 ...
             synchronized (s) {
                 Iterator i = s.iterator(); // Must be in the synchronized block
                 while (i.hasNext())
                     foo(i.next());
             }

O bien

NavigableSet s = Collections.synchronizedNavigableSet(new TreeSet());
             NavigableSet s2 = s.headSet(foo, true);
                 ...
             synchronized (s) {  // Note: s, not s2!!!
                 Iterator i = s2.iterator(); // Must be in the synchronized block
                 while (i.hasNext())
                     foo(i.next());
             }

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

El conjunto navegable devuelto se serializará si el conjunto navegable especificado es serializable.

Agregado en la versión 1.8.

Documentación de Java para java.util.Collections.synchronizedNavigableSet(java.util.NavigableSet<T>).

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