Collections.SynchronizedNavigableMap(INavigableMap) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce una mappa navigabile sincronizzata (thread-safe) supportata dalla mappa navigabile specificata.
[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
Parametri
mappa navigabile di cui eseguire il wrapping in una mappa navigabile sincronizzata
Valori restituiti
una vista sincronizzata della mappa navigabile specificata.
- Attributi
Commenti
Restituisce una mappa navigabile sincronizzata (thread-safe) supportata dalla mappa navigabile specificata. Per garantire l'accesso seriale, è fondamentale che <>venga eseguito un accesso sicuro e sicuro<> alla mappa navigabile sottostante tramite la mappa navigabile restituita (o le relative visualizzazioni).
È fondamentale che l'utente si sincronizzi manualmente sulla mappa navigabile restituita durante l'attraversamento di una delle visualizzazioni della raccolta o delle raccolte di una delle subMapviste , headMap o tailMap , tramite Iteratoro 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());
}
Se non si segue questo consiglio, è possibile che si verifichi un comportamento non deterministico.
La mappa navigabile restituita sarà serializzabile se la mappa navigabile specificata è serializzabile.
Aggiunta nella versione 1.8.
per java.util.Collections.synchronizedNavigableMap(java.util.NavigableMap<K, V>).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.