Revision: 19820
Updated Code
at November 6, 2009 08:54 by rtipton
Updated Code
using System;
using System.Threading;
class Program
{
static void Main()
{
AutoResetEvent reset = new AutoResetEvent(false);
StatusChecker status = new StatusChecker(5);
// Invoke methods for the timer via a Delegate
TimerCallback timerDelegate = new TimerCallback(status.CheckStatus);
// Create a timer that signals the delegate to invoke
// Check status after one second, and then every 1/4 second
Console.WriteLine("{0} Creating the timer.\n",DateTime.Now.ToString("h:mm:ss.fff"));
Timer stateTimer = new Timer(timerDelegate, reset, 1000, 250);
// When the auto reset executes, change to every 1/2 second
reset.WaitOne(5000, false);
stateTimer.Change(0, 500);
Console.WriteLine("\nChanging the timer period.\n");
reset.WaitOne(5000, false);
stateTimer.Dispose();
Console.WriteLine("\nDestroying the timer.");
}
}
class StatusChecker
{
int invokeCount, maxCount;
public StatusChecker(int count)
{
invokeCount = 0;
maxCount = count;
}
// This method is called by the timer delegate.
public void CheckStatus(Object stateInfo)
{
AutoResetEvent autoEvent = (AutoResetEvent)stateInfo;
Console.WriteLine("{0} Checking status {1,2}.",
DateTime.Now.ToString("h:mm:ss.fff"),
(++invokeCount).ToString());
if (invokeCount == maxCount)
{
// Reset the counter and signal Main.
invokeCount = 0;
autoEvent.Set();
}
}
}
Revision: 19819
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 31, 2009 22:34 by rtipton
Initial Code
using System;
using System.Timers;
public class Program
{
private static System.Timers.Timer testTimer;
public static void Main(string[] args)
{
testTimer = new System.Timers.Timer(5000); // 5 seconds
testTimer.Elapsed += new ElapsedEventHandler(OnTimerElapsed);
testTimer.Interval = 5000;
testTimer.Enabled = true;
Console.WriteLine("Press the enter key to stop the timer");
Console.ReadLine();
}
private static void OnTimerElapsed(object source, ElapsedEventArgs e)
{
Console.WriteLine("Timer elapsed at {0}", e.SignalTime);
}
}
Initial URL
Initial Description
Initial Title
System.Threading.Timer Example
Initial Tags
Initial Language
C#