Collections.SynchronizedSortedMap(IDictionary) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
o mapa classificado a ser "embrulhado" 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<>> ao mapa classificado de apoio seja realizado através do mapa classificado retornado (ou suas visualizações).
É imperativo 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 subMap
, ou tailMap
visualizações, via Iterator
, Spliterator
ou Stream
: headMap
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());
}
ou:
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());
}
O não cumprimento deste conselho pode resultar em comportamento não determinístico.
O mapa classificado retornado será serializável se o mapa classificado especificado for serializável.
Documentação Java 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 Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.