【问题标题】:Is timer a thread? [closed]计时器是线程吗? [关闭]
【发布时间】:2012-02-20 17:03:13
【问题描述】:

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

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

【问题讨论】:

  • 我不太明白这个问题。你能充实一下吗?您指的是哪些具体类型?
  • 这种语言不是不可知论的吗?
  • @Milox - Windows 上有多种计时器工具。如果您有想法,最好询问特定的类或 API。
  • 啊,明白了!,我特意说的是 c# 的 System.Threading.Timer vs System.Threading.Thread(使用 Thread.Sleep 来结束它)。我以为这是一个通用的编程概念……

标签: c# multithreading windows-services timer


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-24
      • 2015-07-24
      相关资源
      最近更新 更多