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

Vista: 1|Resposta: 0

[Fonte] .NET/C# Baseado no SQL SERVER, usa MERGE + HOLDLOCK para identificadores de alta concorrência

[Copiar link]
Publicado em5 segundos atrás | | | |
Requisitos: O MERGE + HOLDLOCK usado é uma operação atômica de uma etapa que, combinada com o mecanismo de travamento, resolve perfeitamente conflitos concorrentes em nível de banco de dados. Este artigo completa a função de seletor de números (transmissor) baseada no banco de dados MSSQL.

O script de criação de banco de dados é o seguinte:
O código C# chamado é o seguinte:
Execute conforme mostrado abaixo:



Testar e enviar 10.000 contas leva cerca de 6 segundos,Em média, podem ser coletados 1.666 números por segundo, que agora pode sustentar a maioria dos negócios.

Core WITH (HOLDLOCK): Esta linha de código é crítica. Ela representa o uso de um Serializável. Quando múltiplas threads ou múltiplos serviços solicitam o mesmo prefixo (por exemplo, todos estão competindo pelo mesmo número de pedido), ela pode forçar essas solicitações à força, impedindo completamente que duas threads insiram o mesmo prefixo ou adicionem o mesmo número ao mesmo tempo, garantindo absoluta unicidade e continuidade dos números.




Anterior:As diferenças entre location.assign, location.href e location.replace
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