C # Temporizador o Hilo. Dormir

Estoy ejecutando un servicio de Windows y usando un bucle y Thread.Sleep para repetir una tarea, ¿sería mejor usar un método de temporizador?

Si es así, un ejemplo de código sería genial

Actualmente estoy usando este código para repetir

int curMinute;
int lastMinute = DateTime.Now.AddMinutes(-1).Minute;

while (condition)
{
   curMinute = DateTime.Now.Minute;

   if (lastMinute < curMinute) {
         // do your once-per-minute code here
         lastMinute = curMinute;
   }

   Thread.Sleep(50000);      // sleeps for 50 seconds

   if (error condition that would break you out of this) {
       break;      // leaves looping structure
   }
}

Respuestas a la pregunta(11)

Su respuesta a la pregunta