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)
|