c# - System.Threading.Timer 只触发一次

标签 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);
}

最佳答案

计时器在再次触发之前被 GC 收集。
您需要将其存储在一个字段中以使其保持活力。

关于c# - System.Threading.Timer 只触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8466475/

相关文章:

c++ - OpenMP C++ 无法随处理器数量线性加速

c++ - 我可以在 C++ 中使用 boost 生成多少个线程?

c# - System.Web.Razor.dll 未复制到 bin 文件夹

C# Action<> 带有 Func<> 参数

c# - 监听通用事件

c# - Android 10 Xamarin.Forms MainActivity 作为警报的全屏 Intent

c# - 重命名 .Net 程序集

java - 在同一端口轮询服务器 - 线程和 Java

java - 调用 java Thread join() 方法如何使外部线程等待,而它本应是调用 join() 的线程本身?

multithreading - 复制工作线程的字符串