System.Threading.Timer只触发一次

时间:2011-12-11 18:45:44

标签: c# multithreading

使用下面的代码,计时器只会触发一次。我错过了什么?

public static List<string> Test = new List<string> { "TEST1", "TEST2" };

public static void Start()
{
    var t = new System.Threading.Timer(o =>
    {
        foreach (var item in Test)
        {
            Console.WriteLine("Say hello!"); 
        }
    }, null, 0, 1250);
}

1 个答案:

答案 0 :(得分:21)

GC再次点火前正在收集计时器 你需要将它存放在一个字段中来保持活着。