¿Cómo evitar un evento de temporizador C # System.Timers de bloquear los eventos posteriores?

StackOverflow https://stackoverflow.com//questions/25066056

Pregunta

Tengo una aplicación C # que utiliza un temporizador de System.Timers que llama repetidamente una función.El problema es, dependiendo de la carga de trabajo, si el procesamiento de una llamada de función alcanza un cierto porcentaje de uso de la CPU (98-100%), se bloquean los eventos posteriores.

¿Hay alguna manera de prevenir un escenario de este tipo para que los eventos no estén bloqueados?

Por ejemplo, el controlador de eventos del temporizador es una función que ejecuta un código dinámico, lo que puede tomar algún tiempo y recursos para procesar.Durante dicho procesamiento, un booleano se establece en verdad, lo que causa las llamadas de eventos posteriores para escribir en un archivo de registro.Sin embargo, una vez que el procesamiento de un evento ha alcanzado un alto uso de la CPU, eventos adicionales no escribirán al archivo de registro.

¿Fue útil?

Solución

Sí, configure la propiedad Autoreset de la propiedad TIMERS ATTE.

Leer: https://msdn.microsoft.com/en-us/library/system.timers.timer(v=vs.110).aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top