Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 19962|Resposta: 0

[Fonte] Como usar o SqlConnection corretamente, a thread SqlConnection é segura?

[Copiar link]
Publicado em 19/11/2016 08:46:14 | | |
O link para o artigo é o seguinte:

http://www.cnblogs.com/LoveJenny/archive/2011/10/31/2229738.html

1: O SqlConnection é seguro para threads?

Pode-se saber que usar uma Conexão para executar uma instrução SQL em um ambiente multithread éNão é seguroAlvo.

SqlConnection não é seguro para threads, então multithreading certamente será um problema.
Na verdade, o .net fornece automaticamente gerenciamento de pool de conexão, desde que a string de conexão seja a mesma (deve ser exatamente a mesma), ela estará no mesmo pool, aberto e fechado na verdade pegam uma conexão do pool e a colocam de volta nele, o que não causará problemas de desempenho. Portanto, após cada conexão ser aberta, ela deve ser fechada o mais rápido possível após o uso, para que a conexão possa ser devolvida ao pool para que outros programas possam usar.



2: Por que as pessoas ainda usam o método de escrita acima para criar conexões?

Acho que eles podem achar que criar múltiplas Conexões consome tempo, e que múltiplas Conexões consomem memória, afetam o desempenho, etc.


3: Todo novo SqlConnection consome memória e recursos, afetando o desempenho?

Isso é pensamento cego, preocupação cega.

Porque"Criar múltiplas conexões" não necessariamente cria múltiplas novas conexões de banco de dadosA conexão com banco de dados é um recurso valioso; no que diz respeito ao MS SQL Server, esse recurso valioso será otimizado internamente e a conexão será reutilizada.

O pool de conexão é fornecido por .net, há uma propriedade de Pooling na string de conexão, o padrão é verdadeiro, ou seja, o pool de conexão é ativado por padrão, isso não tem nada a ver com SQL Server, se você escrever Pooling=false na string de conexão, então não há pool de conexão, isso é completamente . Otimização .NET.



Explorando as consequências de usar a mesma conexão de banco de dados em múltiplos threads
Link do artigo: http://www.th7.cn/Program/java/201503/415005.shtml

Resumo: Em um ambiente multithread, usar uma única conexão pode causar confusão de transações sem o manuseio seguro da conexão por threads.... Afeta o uso das transações JDBC...




Anterior:javascrip{filter}t:a diferença entre history.go() e History.back().
Próximo:C# Conectando a Bancos de Dados SQL Strings de conexão comuns
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com