Länken till artikeln är följande:
http://www.cnblogs.com/LoveJenny/archive/2011/10/31/2229738.html
1: Är SqlConnection trådsäkert?
Det kan vara känt att använda en Connection för att köra en SQL-sats i en multitrådad miljö ärInte säkertMål.
SqlConnection är inte trådsäker, så multitrådning är oundvikligen ett problem. Faktum är att .net automatiskt tillhandahåller anslutningspoolhantering, så länge anslutningssträngen är densamma (måste vara exakt densamma), kommer den att vara i samma pool, öppna och stängda tar faktiskt en anslutning från poolen och lägger tillbaka anslutningen i poolen, vilket inte orsakar prestandaproblem. Därför bör varje anslutning stängas så snart som möjligt efter användning, så att anslutningen kan återföras till poolen för andra program att använda.
2: Varför använder folk fortfarande ovanstående skrivmetod för att skapa Connections?
Jag tror att de kanske tror att det tar tid att skapa flera anslutningar, och att flera anslutningar tar upp minne, påverkar prestandan, osv.
3: Tar varje ny SqlConnection upp minne och resurser, vilket påverkar prestandan?
Det här är blindt tänkande, blind oro.
För att"Att skapa flera anslutningar" skapar inte nödvändigtvis flera nya databasanslutningarDatabasanslutning är en värdefull resurs för MS SQL Server, denna värdefulla resurs kommer att optimeras internt och anslutningen kommer att återanvändas.
Connection pool tillhandahålls av .net, det finns en Pooling-egenskap i anslutningssträngen, standarden är sann, det vill säga, anslutningspoolen är aktiverad som standard, detta har inget med SQL Server att göra, om du skriver Pooling=false i anslutningssträngen finns det ingen anslutningspool, detta är helt och hållet . .NET-optimering.
Att utforska konsekvenserna av att använda samma databasanslutning i flera trådar Artikellänk: http://www.th7.cn/Program/java/201503/415005.shtml
Sammanfattning: I en flertrådad miljö kan användning av en enda anslutning orsaka transaktionsförvirring utan trådsäker hantering av anslutningen.... Påverkar användningen av JDBC-transaktioner...
|