Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 1|Odpověď: 0

[Zdroj] .NET/C# Založený na SQL SERVERu používá MERGE + HOLDLOCK pro identifikátory s vysokou souběžností

[Kopírovat odkaz]
ZveřejněnoPřed 5 sekundami | | | |
Požadavky: Použití MERGE + HOLDLOCK je jednokroková atomická operace, která v kombinaci s mechanismem zámku dokonale řeší souběžné konflikty na úrovni databáze. Tento článek doplňuje funkci číselného výběru (vysílače) založenou na databázi MSSQL.

Skript pro tvorbu databáze je následující:
Volaný kód v C# je následující:
Proveďte to níže:



Testování a odeslání 10 000 účtů trvá asi 6 sekund,Průměrně lze za sekundu získat 1 666 čísel, která nyní dokáže podpořit většinu podniků.

Core WITH (HOLDLOCK): Tento řádek kódu je zásadní. Představuje použití Serializable. Když více vláken nebo více služeb požaduje stejný prefix (například všichni soutěží o stejné číslo objednávky), může tyto požadavky násilně zařadit do fronty, čímž zcela zabrání tomu, aby dvě vlákna vložila stejný prefix nebo přidala stejné číslo současně, čímž se zajistí absolutní jedinečnost a kontinuita čísel.




Předchozí:Rozdíly mezi location.assign, location.href a location.replace
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com