Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 1|Răspunde: 0

[Sursă] .NET/C# Bazat pe SQL SERVER, folosește MERGE + HOLDLOCK pentru identificatorii cu concurență mare

[Copiază linkul]
Postat peAcum 5 secunde | | | |
Cerințe: MERGE + HOLDLOCK folosit este o operațiune atomică într-un singur pas, care, combinată cu mecanismul de blocare, rezolvă perfect conflictele concurente la nivel de bază de date. Acest articol completează funcția de selector de numere (emițător) bazată pe baza de date MSSQL.

Scriptul de creare a bazei de date este următorul:
Codul C# numit este următorul:
Executați așa cum este prezentat mai jos:



Testarea și trimiterea a 10.000 de conturi durează aproximativ 6 secunde,În medie, pot fi luate 1.666 de numere pe secundă, care acum poate susține majoritatea afacerilor.

Core WITH (HOLDLOCK): Această linie de cod este esențială. Reprezintă utilizarea unui Serializable. Când mai multe fire sau mai multe servicii solicită același prefix (de exemplu, toată lumea concurează pentru același număr de comandă), poate pune forțat aceste cereri la coadă, împiedicând complet ca două fire să insereze același prefix sau să adauge același număr în același timp, asigurând unicitatea absolută și continuitatea numerelor.




Precedent:Diferențele dintre location.assign, location.href și location.replace
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com