【问题标题】:Should I use background workers or timers in this situation?在这种情况下我应该使用后台工作人员还是计时器?
【发布时间】:2012-01-23 03:47:46
【问题描述】:

我正在编写一个管理一堆计时器的程序。

用户必须手动启动它们,并且能够从每个计时器获取信息,例如了解剩余时间。

我不想让 GUI 冻结,因此我不想在主窗体线程上设置一个计时器来冻结整个事情。

那么,Timer 类是在新线程上发送计时器,还是将其保留在主 UI 线程上?

否则,我应该使用后台工作人员来完成此操作吗?

【问题讨论】:

    标签: c# multithreading timer backgroundworker


    【解决方案1】:

    System.Windows.Forms.Timer 事件在 UI 线程上运行。

    相反,您可以使用在工作线程上运行的System.Threading.Timer

    参考。 :Comparing the Timer Classes in the .NET Framework Class Library

    【讨论】:

      【解决方案2】:

      取决于您使用的类型计时器,我建议阅读these articles 以决定最适合您的计时器。

      【讨论】:

        猜你喜欢
        • 2019-01-20
        • 1970-01-01
        • 1970-01-01
        • 2018-04-02
        • 2017-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多