Tag: 计时器

C#中是否有一个不在Windows.Forms命名空间中的计时器类?

我想在我用C#编写的简单.NET应用程序中使用计时器。 我能找到的唯一一个是Windows.Forms.Timer类。 我不想仅为我的控制台应用程序引用此命名空间。 是否有一个C#计时器(或类似计时器)类用于控制台应用程序?

如何在C#中的for循环的每次迭代之间添加一些延迟?

我正在使用C#编写ASP.NET MVC3。 我想在for循环的每次迭代之间添加一些延迟。 for(int i=0; i<5; i++) { //some code //add delay here } 那我怎么能这样做?

将分钟转换为小时,分钟和秒

我是我的界面我让用户输入X分钟,他们可以暂停一个动作。 我怎样才能将其转换为小时,分钟和秒? 我需要它来更新倒计时标签,以向用户显示剩余的时间。

如何从不同的线程/类启用计时器

原帖: 如何从C#中的另一个类访问一个计时器 我尝试了一切。 -事件 -Invoke无法完成,因为Timers没有InvokeRequired属性。 – 公共/内部财产 没有任何工作,代码正在执行,timer.Enabled属性被设置为“true”,但它没有Tick.If我调用事件或只是在非静态方法中从表单类更改属性 – 它确实打勾和工作。 我从来不知道这会花费我一天时间,甚至可能更多地获得如何使用体面的计时器。 如果没有办法做到这一点,还有什么我可以使用的与计时器类似的工作(延迟,启用/禁用)?

毫秒等待的C#定时器

每隔n * x毫秒我执行一次动作,其中n = 0,1,2,…; x是一些增量。 示例 – 每25毫秒执行一次计算。 对于每个增量,此操作可能需要不到x秒。 因此,我需要在C#中使用一种方法来等待剩余的(x – actual_time)毫秒。 示例 – 如果计算只需要20毫秒,我需要再等待5个毫秒才能重新运行计算。 请指教。 谢谢,凯文

.NET中Timer的最大精度是多少?

我想知道Timer类的精度在System.Timers中是什么,因为它是一个double(这似乎表明你可以有几分之一毫秒)。 它是什么?

C#计时器在间隔时间之前被解雇

从Windows服务使用System.Threading.Timer (.NET 2.0)时,我们遇到了以下问题。 有大约12个不同的计时器对象.. 每个计时器都有适当的时间和间隔。 这是正确设置的。 观察到在3到4小时后,定时器在它们的间隔过去之前开始发信号。 例如,如果计时器应该在4:59:59发出信号,则会在7秒前的4:59:52发出信号。 有人能告诉我这种行为的原因是什么,解决方案是什么? 谢谢,斯瓦蒂

c#定时器是自然multithreading的吗?

如果我有两个系统定时器分别在10和20s触发事件,那么对事件函数的调用是multithreading的吗? 在下面的场景中,我有定时器,分别以10和12秒的间隔触发事件。 期望首先调用函数’My10sEvent’。 如果它是一个需要8秒钟才能运行的慢速function,它会阻止另一个事件(tmr12s),还是第二个事件会在12秒时触发? System.Timers.Timer tmr10s = new System.Timers.Timer(10000.0); tmr10s.Enabled = true; tmr10s.Elapsed += new ElapsedEventHandler(My10sEvent); System.Timers.Timer tmr12s = new System.Timers.Timer(12000.0); tmr12s.Enabled = true; tmr12s.Elapsed += new ElapsedEventHandler(My12sEvent); Thread.Sleep(System.Threading.Timeout.Infinite); //sleep indefinitely to let the above events fire

停止时同步Timers.Timer经过的方法

参考MSDN关于System.Timers.Timer的这句话: Timer.Elapsed事件是在ThreadPool线程上引发的,因此事件处理方法可能在一个线程上运行,同时调用Timer.Stop方法在另一个线程上运行。 这可能导致在调用Stop方法后引发Elapsed事件。 通过将SignalTime属性与调用Stop方法的时间进行比较,无法阻止此竞争条件,因为事件处理方法可能在调用Stop方法时已经执行,或者可能在Stop方法之间开始执行被调用以及保存停止时间的时刻。 如果在事件处理方法仍在执行时阻止调用Stop方法的线程继续运行至关重要,请使用更强大的同步机制,例如Monitor类或CompareExchange方法。 使用CompareExchange方法的代码可以在Timer.Stop方法的示例中找到。 任何人都可以举一个“ 强大的同步机制,如Monitor类 ”来解释这究竟意味着什么? 我认为这意味着以某种方式使用锁,但我不确定如何实现它。

System.Threading.Timer一段时间后才开火

我有一个Windows服务应用程序。 并通过在控制台模式下运行来调试它。 在这里http://support.microsoft.com/kb/842793写道,Timers.Timer有一个错误,而不是在Windows服务中触发。 解决方法是使用Threading.Timer本文适用于.NET 1.0和1.1 我使用的是.NET 4,但经过一段时间Threading.Timer也没有开火。 那可能是什么原因呢? 您能建议什么作为解决方法? 谢谢, 最好的祝福 编辑:我将计时器从Threading.Timer更改为Timers.Timer,它没有任何问题。