コードをより効率的にするためのアドバイスを探しています。私がやりたいことは、System.Threading.Timer
1 時間ごとに何らかのジョブを実行することです。ジョブはそれほど重くはなりませんが、リソースをあまり消費しないコードが必要です。このコードを Windows サービスで実行する予定です。
これは私がこれまでに持っているものです。
class Program
{
private static Timer timer;
static void Main(string[] args)
{
SetTimer();
}
static void SetTimer()
{
timer = new Timer(Write);
var next = DateTime.Now.AddHours(1);
var nextSync = (int)(next - DateTime.Now).TotalMilliseconds;
timer.Change(nextSync, Timeout.Infinite);
}
static void Write(object data)
{
Console.WriteLine("foo");
SetTimer(); //Call the SetTimer again for the next run.
}
}
皆さんはどう思いますか?コードをより効率的にすることはできますか?
すべてのアドバイスは大歓迎です!