Compartilhar via


Collections.SynchronizedMap(IDictionary) Método

Definição

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

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

Parâmetros

m
IDictionary

o mapa a ser "embrulhado" em um mapa sincronizado.

Retornos

Uma exibição sincronizada do mapa especificado.

Atributos

Comentários

Retorna um mapa sincronizado (thread-safe) apoiado pelo mapa especificado. Para garantir o acesso serial, é fundamental que <o acesso forte<>> ao mapa de apoio seja realizado através do mapa retornado.

É imperativo que o usuário sincronize manualmente no mapa retornado ao percorrer qualquer uma de suas visualizações de coleção via Iterator, Spliterator ou Stream:

Map m = Collections.synchronizedMap(new HashMap());
                 ...
             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());
             }

O não cumprimento deste conselho pode resultar em comportamento não determinístico.

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

Documentação Java para java.util.Collections.synchronizedMap(java.util.Map<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.

Aplica-se a