Skip to content

Instantly share code, notes, and snippets.

@Fhernd
Created June 25, 2014 03:53
Show Gist options
  • Save Fhernd/7e2a3aaf9c997a39c557 to your computer and use it in GitHub Desktop.
Save Fhernd/7e2a3aaf9c997a39c557 to your computer and use it in GitHub Desktop.
Demostración del uso del constructor Timer(TimerCallback, Object, TimeSpan, TimeSpan) en C#.
using System;
using System.IO;
using System.Threading;
namespace Recetas.Cap04
{
public sealed class UsoTimerEjecucionProgramada
{
public static void Main()
{
// Creación del archivo donde se guardaran los registros:
using (StreamWriter archivo = new StreamWriter("registros.txt")) { }
Console.WriteLine ("\nEl archivo `registros.txt` se ha creado.\n");
// Creación delegado `TimerCallback`:
TimerCallback delGuardarRegistro = new TimerCallback(GuardarRegistroEnArchivo);
// Creación de temporizador que se ejecutará por primera vez
// pasados 10 segundos, y se repiterá cada 5 segundos:
Timer tareaProgramada = new Timer (delGuardarRegistro, null,
new TimeSpan(0, 0, 7),
new TimeSpan(0, 0, 5));
Console.WriteLine ("A espera de la ejecución del temporizador. Presione Enter para finalizar.");
Console.ReadLine ();
}
private static void GuardarRegistroEnArchivo(Object obj)
{
using (StreamWriter archivo = new StreamWriter ("registros.txt", true))
{
archivo.WriteLine("Registro guardado: ({0})", DateTime.Now);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment