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: 57872|Respuesta: 7

[Fuente] c# encapsula una cola universal QueueHelper

[Copiar enlace]
Publicado en 29/8/2018 10:39:11 | | | |
En el desarrollo diario, podemos usar colas, que son una estructura de almacenamiento capaz de lograr el "primero en entrar, primero en salir".

Escenarios de aplicación: escribir registros, enviar correos electrónicos, etc

Si necesitamos registrar el registro de interfaz de cada usuario que solicita nuestros datos, no necesitamos escribir un registro cada vez que el usuario lo solicite; podemos poner el contenido del registro en la cola y dejar que otros hilos lo ejecuten, para no afectar la eficiencia de la aplicación.

Otra ventaja es que añadir datos a la cola en caso de concurrencia, usando un solo hilo para ejecutar los datos de la cola, puede evitar muchas excepciones; si hay concurrencia (multihilo), el acceso al mismo archivo físico causará excepciones. (sujeto a disponibilidad)

Enfoque universal de cola:

Esta es una clase abstracta, y necesitas heredar esta clase de abstracción e implementar el método de abstracción Ejecutar. Como no sé qué tipo de datos quieres procesar, aquí se usan genéricos, es decir, Entidad es de tipo cadena, los parámetros del método son de tipo cadena y los datos que estás procesando son de tipo cadena.

La cola segura de hilos ConcurrentQueue garantiza que no habrá excepciones en un entorno multihilo.

ManualResetEvent para controlar la señal del hilo,En el pasado, comprobábamos la cola para obtener datos cada pocos segundos o minutosAhora, añadimos los datos a la cola y solo necesitamos pasar una señal.

Uso:

(Fin)




Anterior:Proceso de producción del paquete de instalación del proyecto de configuración Quiero copiar la pregunta del archivo de salida principal
Próximo:El tema del chino redis no puede mostrarse correctamente
 Propietario| Publicado en 24/5/2019 10:13:59 |
Recomienda un marco:

asp.net tutorial de Hangfire de tareas en segundo plano
https://www.itsvse.com/thread-7611-1-1.html
(Fuente: Architect_Programmer)
Publicado en 10/9/2019 10:26:26 |
¿Por qué el método Execute en la clase Test no se ejecuta cuando lo ejecuto?
 Propietario| Publicado en 10/9/2019 21:52:44 |
hano7758 Publicado el 2019-9-10 10:26
¿Por qué el método Execute en la clase Test no se ejecuta cuando lo ejecuto?

¿Puedes publicar tu código?
 Propietario| Publicado en 23/1/2021 11:53:46 |
.NET/C# se basa en la cola de tareas en segundo plano BlockingCollection
https://www.itsvse.com/thread-9528-1-1.html

Publicado en 26/7/2021 14:09:53 |
¿Cómo puedes ver el código?
Publicado en 26/9/2022 22:20:08 |
Necesito aprender a usarlo
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