Condividi tramite


Collections.SynchronizedNavigableSet(INavigableSet) Metodo

Definizione

Restituisce un set navigabile sincronizzato (thread-safe) supportato dal set navigabile specificato.

[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

Parametri

s
INavigableSet

il set navigabile da "wrapped" in un set navigabile sincronizzato

Restituisce

una visualizzazione sincronizzata del set navigabile specificato

Attributi

Commenti

Restituisce un set navigabile sincronizzato (thread-safe) supportato dal set navigabile specificato. Per garantire l'accesso seriale, è fondamentale che <>venga eseguito un accesso sicuro e completo<> al set navigabile sottostante tramite il set navigabile restituito (o le relative visualizzazioni).

È fondamentale che l'utente si sincronizzi manualmente sul set navigabile restituito durante l'attraversamento, o una delle relative subSetvisualizzazioni , headSeto tailSet tramite Iteratoro Spliterator Stream:

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

oppure:

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());
             }

Se non si segue questo consiglio, è possibile che si verifichi un comportamento non deterministico.

Il set navigabile restituito sarà serializzabile se il set navigabile specificato è serializzabile.

Aggiunta nella versione 1.8.

Documentazione java per java.util.Collections.synchronizedNavigableSet(java.util.NavigableSet<T>).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a