Sprache

Collections.SynchronizedNavigableMap(INavigableMap) Methode

Definition

Gibt eine synchronisierte (threadsichere) navigierbare Karte zurück, die von der angegebenen navigierbaren Karte unterstützt wird.

[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

Parameter

m
INavigableMap

die navigierbare Karte, die in einer synchronisierten navigierbaren Karte "umschlossen" werden soll

Gibt zurück

eine synchronisierte Ansicht der angegebenen navigierbaren Karte.

Attribute

Hinweise

Gibt eine synchronisierte (threadsichere) navigierbare Karte zurück, die von der angegebenen navigierbaren Karte unterstützt wird. Um den seriellen Zugriff zu gewährleisten, ist es wichtig, dass <durch die zurückgegebene navigierbare Karte (oder deren Ansichten) ein starker>Zugriff<> auf die zugrunde liegende navigierbare Karte erreicht wird.

Es ist zwingend erforderlich, dass der Benutzer manuell auf der zurückgegebenen navigierbaren Karte synchronisiert wird, wenn er eine seiner Sammlungsansichten durchläuft, oder die Auflistungsansichten eines seiner subMapAnsichten oder tailMapheadMap Ansichten, über Iteratoroder 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());
             }

oder:

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

Wenn dieser Rat nicht befolgt wird, kann dies zu einem nicht deterministischen Verhalten führen.

Die zurückgegebene navigierbare Karte kann serialisiert werden, wenn die angegebene navigierbare Karte serialisierbar ist.

Hinzugefügt in 1.8.

Java Dokumentation für java.util.Collections.synchronizedNavigableMap(java.util.NavigableMap<K, V>).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: