【发布时间】:2011-03-24 19:47:59
【问题描述】:
我们希望每 N 分钟运行一次任务列表。所以我们创建了一个带有
的任务执行器do { DoWork(); }while(!stopRequested)
现在我们想要在工作周期之间暂停一下。每个人似乎都认为 Thread.Sleep() 是魔鬼。我见过提到使用监视器/事件的东西,但我们没有其他人告诉我们做工作。我们只想每 N 分钟做一次,就像发条一样。
那么是否有替代方法或者我找到了 Thread.Sleep 的有效用法?
另一篇文章中有人提到 WaitHandle.WaitOne() 作为替代方案,但您显然不能从非静态方法调用它?或者至少我不能因为我得到一个编译时错误..
需要一个对象引用 非静态字段、方法或 财产 'System.Threading.WaitHandle.WaitOne(System.TimeSpan)'
【问题讨论】:
标签: c# multithreading