计时器是线程吗?

时间:2012-02-20 17:03:13

标签: c# multithreading windows-services timer

我可以将计时器视为一种特殊类型的线程吗?如果它们是工作“子进程”异步运行会有什么区别?

我正在开发一个c#Windows服务,特别是c#的System.Threading.Timer与System.Threading.Thread(使用Thread.Sleep来过去)

2 个答案:

答案 0 :(得分:3)

计时器不是一个线程但是异步定时器触发事件​​可以被视为一种多线程形式 - 以及所有传统的多线程问题!

答案 1 :(得分:0)

更像'什么操作系统?'。系统调用的休眠间隔和超时通常由用户线程句柄/指针/任何内容的增量队列提供,这些队列由内核中的剩余超时标记排序。在提供通过某种消息分派机制触发事件的定时器对象的环境中,通常使用类似的方法。当更有效的机制可用时,维护每个定时器的线程肯定是不必要的,也是非常浪费的。