El enlace al artículo es el siguiente:
http://www.cnblogs.com/LoveJenny/archive/2011/10/31/2229738.html
1: ¿Es seguro SqlConnection para hilos?
Se sabe que usar una Conexión para ejecutar una instrucción SQL en un entorno multihilo esNo es seguroBlanco.
SQL Connection no es seguro para hilos, así que el multihilo es inevitable que sea un problema. De hecho, .net proporciona automáticamente gestión del pool de conexiones; mientras la cadena de conexión sea la misma (debe ser exactamente la misma), estará en el mismo pool, open y close en realidad toman una conexión del pool y la vuelven a meter en el pool, lo que no causará problemas de rendimiento. Por lo tanto, tras abrir cada conexión, debe cerrarse lo antes posible tras su uso, para que la conexión pueda devolverse al pool para que otros programas la utilicen.
2: ¿Por qué la gente sigue usando el método de escritura anterior para crear Conexiones?
Creo que podrían pensar que crear múltiples conexiones consume mucho tiempo, y que varias conexiones consumen memoria, afectan al rendimiento, etc.
3: ¿Cada nuevo SqlConnection consume memoria y recursos, afectando al rendimiento?
Esto es pensamiento ciego, preocupación ciega.
Porque"Crear múltiples conexiones" no necesariamente crea múltiples nuevas conexiones a bases de datosLa conexión a bases de datos es un recurso valioso; en lo que respecta a MS SQL Server, este recurso valioso se optimizará internamente y la conexión se reutilizará.
El pool de conexiones lo proporciona .net, hay una propiedad de Pooling en la cadena de conexión, el valor por defecto es verdadero, es decir, el conjunto de conexiones está activado por defecto, esto no tiene nada que ver con SQL Server, si escribes Pooling=false en la cadena de conexión, entonces no hay pool de conexiones, esto es completamente . Optimización .NET.
Explorando las consecuencias de usar la misma conexión a la base de datos en múltiples hilos Enlace al artículo: http://www.th7.cn/Program/java/201503/415005.shtml
Resumen: En un entorno multihilo, usar una sola conexión puede causar confusión en las transacciones sin una gestión segura de hilos de la conexión.... Afecta al uso de las transacciones JDBC...
|