2009-05-19 43 views

Respuesta

8

No es seguro para subprocesos, por lo que no puede compartir objetos de conexión o similares a través de subprocesos.

Las correcciones de errores de subprocesos mencionadas en el archivo Léame tienen que ver con varios subprocesos que utilizan varias conexiones (es decir, una cada uno) para el mismo archivo y qué tipo de problemas o condiciones de carrera pueden producir. Por ejemplo, la condición de carrera de subprocesos mencionada para COMENZAR y COMENZAR INMEDIATA tuvo el efecto desafortunado de que aunque un subproceso emitió un COMIENZO, otro subproceso que emitió un COMIENZO posteriormente podría terminar siendo el propietario de la base de datos antes que el primero. Este tipo de situaciones se han solucionado.

Pero las conexiones de bases de datos (oráculo, sqlite, servidor ms sql) en .NET no son seguras para subprocesos, ni son los objetos circundantes.

+3

Para agregar una pequeña cantidad a lo anterior, las especificaciones ADO.NET NO recomiendan ni requieren que sean seguras para hilos. Se supone que debes usar una conexión por hilo: ese es el diseño de ADO.NET. –

+0

¿Qué tal leer? ¿Es seguro compartir la conexión de solo lectura entre subprocesos? – axe

Cuestiones relacionadas