Collections.SynchronizedSortedMap(IDictionary) Método

Definição

Retorna um mapa classificado sincronizado (thread-safe) apoiado pelo mapa classificado especificado.

[Android.Runtime.Register("synchronizedSortedMap", "(Ljava/util/SortedMap;)Ljava/util/SortedMap;", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public static System.Collections.IDictionary SynchronizedSortedMap(System.Collections.IDictionary m);
[<Android.Runtime.Register("synchronizedSortedMap", "(Ljava/util/SortedMap;)Ljava/util/SortedMap;", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
static member SynchronizedSortedMap : System.Collections.IDictionary -> System.Collections.IDictionary

Parâmetros

m
IDictionary

o mapa classificado a ser "encapsulado" em um mapa classificado sincronizado.

Retornos

uma exibição sincronizada do mapa classificado especificado.

Atributos

Comentários

Retorna um mapa classificado sincronizado (thread-safe) apoiado pelo mapa classificado especificado. Para garantir o acesso serial, é fundamental que <o acesso forte>a todo</forte> ao mapa classificado de suporte seja realizado por meio do mapa classificado retornado (ou suas exibições).

É imprescindível que o usuário sincronize manualmente no mapa classificado retornado ao percorrer qualquer uma de suas exibições de coleção ou as exibições de coleções de qualquer uma de suas exibições headMap ou tailMap exibições por meio Iteratorde , Spliterator ou Stream:subMap

SortedMap m = Collections.synchronizedSortedMap(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:

SortedMap m = Collections.synchronizedSortedMap(new TreeMap());
             SortedMap m2 = m.subMap(foo, bar);
                 ...
             Set s2 = m2.keySet();  // Needn't be in synchronized block
                 ...
             synchronized (m) {  // Synchronizing on m, not m2 or s2!
                 Iterator i = s2.iterator(); // Must be in synchronized block
                 while (i.hasNext())
                     foo(i.next());
             }

A falha ao seguir este conselho pode resultar em um comportamento não determinístico.

O mapa classificado retornado será serializável se o mapa classificado especificado for serializável.

Java documentação para java.util.Collections.synchronizedSortedMap(java.util.SortedMap<K, V>).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a