我可以将计时器视为一种特殊类型的线程吗?如果它们是工作“子进程”异步运行会有什么区别?
我正在开发一个c#Windows服务,特别是c#的System.Threading.Timer与System.Threading.Thread(使用Thread.Sleep来过去)
答案 0 :(得分:3)
计时器不是一个线程但是异步定时器触发事件可以被视为一种多线程形式 - 以及所有传统的多线程问题!
答案 1 :(得分:0)
更像'什么操作系统?'。系统调用的休眠间隔和超时通常由用户线程句柄/指针/任何内容的增量队列提供,这些队列由内核中的剩余超时标记排序。在提供通过某种消息分派机制触发事件的定时器对象的环境中,通常使用类似的方法。当更有效的机制可用时,维护每个定时器的线程肯定是不必要的,也是非常浪费的。