2010-11-19 10 views

Respuesta

9

Desde el documentation:

estáticos públicos (Shared en Visual Basic) de este tipo son el hilo seguro. Los miembros de instancia no son garantizados para ser seguros para subprocesos.

En otras palabras, no, el método add no es seguro para subprocesos.

+3

+1 - leer la documentación suele ser un buen comienzo. –

0

La experiencia reciente (dolorosa) me lleva a pensar que es muy, MUY inservible.

Analicé un par de archivos de volcado que contenían 7.4 millones y 8.8 millones de instancias de XElement no deseados adicionales respectivamente. Lo mejor que puedo determinar es que se crearon cuando un código de aspecto inocuo que implicaba la manipulación de los subnodos de un elemento XElement (incluida la llamada a Add() en algunos casos) se llamaba desde dos subprocesos de grupo de subprocesos al mismo tiempo.

Esto no es demasiado sorprendente - XElement y las clases asociadas se implementan utilizando estructuras de listas similares vinculados, y si Scramble el enlace hace referencia a una variedad de resultados extraños pueden sobrevenir - bucles, fragmentos sin ataduras, etc.

Cuestiones relacionadas