2009-01-04 15 views

Respuesta

14

Sí, lo arrojó a un IDictionary y bloqueo en .SyncRoot:

Generic.Dictionary<int, int> dic = new Generic.Dictionary<int, int>(); 

lock (((IDictionary)dic).SyncRoot) 
{ 
    // code 
} 

Gracias a esta source por la información.

Por supuesto, un diccionario seguro para hilos también sería bueno, como otros han sugerido.

+0

Esta respuesta se aceptó, pero cualquiera que lea esto también debería echar un vistazo a esto, por ejemplo: http://stackoverflow.com/questions/327654/hashtable-to-dictionary-syncroot. SyncRoot no es la mejor manera de bloquear las colecciones. – AFract

+0

Me doy cuenta de que esta respuesta es antigua. Solo quería decirte que el enlace está muerto ahora. –

+0

Es mejor no usar "SyncRoot", era un problema de diseño por el equipo de .net, use Lock (_lockObject) en su lugar. –

1

Puede bloquear cualquier objeto que desee (excepto los tipos de valor). Es recomendado embargo para bloquear el objeto .SyncRoot.

Cuestiones relacionadas