Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 1|Respuesta: 0

[Fuente] .NET/C# Basado en SQL SERVER, utiliza MERGE + HOLDLOCK para identificadores de alta concurrencia

[Copiar enlace]
Publicado enHace 5 segundos | | | |
Requisitos: El MERGE + HOLDLOCK utilizado es una operación atómica de un solo paso que, combinada con el mecanismo de bloqueo, resuelve perfectamente los conflictos concurrentes a nivel de base de datos. Este artículo completa la función de selector de números (transmisor) basada en la base de datos MSSQL.

El script de creación de la base de datos es el siguiente:
El código C# llamado es el siguiente:
Ejecuta como se muestra a continuación:



Probar y enviar 10.000 cuentas lleva unos 6 segundos,De media, se pueden tomar 1.666 números por segundo, que ahora puede sostener a la mayoría de las empresas.

Core WITH (HOLDLOCK): Esta línea de código es crítica. Representa el uso de un Serializable. Cuando múltiples hilos o múltiples servicios solicitan el mismo prefijo (por ejemplo, todos compiten por el mismo número de orden), puede poner en cola estas solicitudes de forma forzosa, impidiendo por completo que dos hilos inserten el mismo prefijo o sumen el mismo número al mismo tiempo, asegurando la absoluta unicidad y continuidad de los números.




Anterior:Las diferencias entre location.assign, location.href y location.replace
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com