Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 1|Risposta: 0

[Fonte] .NET/C# Basato su SQL SERVER, utilizza MERGE + HOLDLOCK per gli identificatori ad alta concorrenza

[Copiato link]
Pubblicato su5 secondi fa | | | |
Requisiti: Il MERGE + HOLDLOCK utilizzato è un'operazione atomica a un solo passaggio che, combinata con il meccanismo di bloccaggio, risolve perfettamente i conflitti concorrenti a livello di database. Questo articolo completa la funzione di numero di selezione (trasmettitore) basata sul database MSSQL.

Lo script di creazione del database è il seguente:
Il codice C# chiamato è il seguente:
Esegui come mostrato di seguito:



Testare e inviare 10.000 account richiede circa 6 secondi,In media, si possono prendere 1.666 numeri al secondo, che ora può sostenere la maggior parte delle imprese.

Core WITH (HOLDLOCK): Questa riga di codice è fondamentale. Rappresenta l'uso di un Serializable. Quando più thread o più servizi richiedono lo stesso prefisso (ad esempio, tutti competono per lo stesso numero d'ordine), può codarsi forzatamente queste richieste, impedendo completamente che due thread inseriscano lo stesso prefisso o aggiungano lo stesso numero contemporaneamente, garantendo un'unicità assoluta e continuità dei numeri.




Precedente:Le differenze tra location.assign, location.href e location.replace
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com