c# timer 的使用方法 求大神指点啊!!!

class TimerExampleState
{
    public int minute;
    public System.Threading.Timer tmr;
}
private static void Main()
{
    System.Threading.Timer timer_addtoken;
    TimerExampleState state_addtoken = new TimerExampleState();//支付token更新的定时器
    TimerCallback addToken = new TimerCallback(A.CheckStatusAddToken);//回调函数用于定时器调用
    timer_addtoken = new System.Threading.Timer(addToken, state_addtoken, 0, Timeout.Infinite);//定时器发生的时间,用于更新token
    state_addtoken.tmr = timer_addtoken;
  //  Console.WriteLine("1s");
  //  Console.WriteLine(id);
  //  Console.WriteLine(ra.Next(1, 20));
    Console.Read();

}
private void CheckStatusAddToken(Object state)
{
    TimerExampleState s =(TimerExampleState)state;
    Console.WriteLine(DateTime.Now);
    (s.tmr).Change(1, Timeout.Infinite);
    return;
}

    求大神指点看看这段代码有没有问题,还有他的执行过程是什么样的啊,为什么change的第一个参数才是重复时间,第二个参数貌似一点用都没有,为什么呢?

https://msdn.microsoft.com/zh-cn/library/system.threading.timer.change.aspx
先搞清楚 Timeout.Infinite 是什么类型,用的什么重载。如果都是int,那么第二个参数是间隔时间,第一个是起始地延迟(都是毫秒为单位)