定期的にメソッドを実行する

using System;
using System.Threading;

public class ThreadTimerTest
{
    static void Main()
    {
        var ttt = new ThreadTimerTest();
        ttt.Run();
    }

    public void Run()
    {
        var timerDelegate = new TimerCallback(MyClock);
        using (var timer = new Timer(timerDelegate, null, 0, 1000))
        {
            Console.ReadLine(); // Enterキーが押されるまで待機

            timer.Change(Timeout.Infinite, Timeout.Infinite);
            Console.WriteLine("タイマー停止");
        }
    }

    public void MyClock(object o)
    {
        Console.WriteLine(DateTime.Now);
        // 出力例:
        // 2005/11/08 19:59:10
        // 2005/11/08 19:59:11
        // 2005/11/08 19:59:12
        // ……
    }
}

C#

Posted by hidepon