c# - 系统线程计时器

标签 c# multithreading timer

当我们使用System.Threading.Timer时,那么方法是在创建定时器的线程上执行的吗?还是ir在另一个线程中执行?

class Timer
{
    static void Main()
    {
        TimerCallback tcall = statusChecker.CheckStatus;
        Timer stateTimer = new Timer(tcb, autoEvent, 1000, 250);
    }
}
class StatusChecker
{
    public void CheckStatus(Object stateInfo)
    {
    }
}

我的问题是定时器委托(delegate)(CheckStatus)调用的方法是在主线程中执行还是在另一个线程中执行?

最佳答案

System.Threading.Timer 将在线程池中的另一个线程上执行其工作。

System.Windows.Forms.Timer 将在现有 (GUI) 线程上执行。

关于c# - 系统线程计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4459351/

相关文章:

c# - 无法从 'byte[]' 转换为 'byte*'

java - 线程应该做什么才能不阻止虚拟机退出?

windows - KillTimer 是必需的吗?

java - Collections.synchronizedList 与 vector

c++ - 如何在 mainloop 正在监听消息的特定时间退出程序?

C# async 周期性调用方法

c# - 在 Entity Framework 中映射自定义数据库值函数

c# - 将字符串加密为固定长度

c# - 枚举到下拉列表 MVC3 C#

multithreading - 'critical section algorithm' 中的进度和有限等待是什么?