Cada N minutos que queremos ejecutar a través de una lista de tareas. Así que hemos creado un ejecutor de tareas con unAlternativas a Thread.Sleep()
do { DoWork(); }while(!stopRequested)
Ahora queremos tener una pausa entre los ciclos de trabajo. Todo el mundo parece pensar que Thread.Sleep() es el demonio. He visto mencionar el uso de Monitor/Evento, pero no tenemos a alguien más diciéndonos que hagamos el trabajo. Solo queremos hacer cosas cada N minutos como un reloj.
Entonces, ¿hay una alternativa o he encontrado un uso válido de Thread.Sleep?
Alguien en otra publicación mencionó WaitHandle.WaitOne() como alternativa pero aparentemente no se puede llamar a eso desde un método no estático? O al menos no puedo porque me sale un error de tiempo de compilación de ..
Se requiere una referencia de objeto para el campo no estático, método o propiedad 'System.Threading.WaitHandle.WaitOne (System.TimeSpan) '
¿Crees que la respuesta sigue siendo válida? – Cer
@Cer: Aún debería funcionar, claro. Una alternativa es usar una tarea con un token de cancelación. –