将功能激活为特定小时,然后睡眠X时间

时间:2013-04-25 21:31:59

标签: c#

我不喜欢c#,请原谅我:)

我试图完成的是类似的东西,我有来自Console的2x输入参数 他们被称为

smallHour bigHour

让我们说smallHour = 2和bigHour = 12,

现在我想要做什么来激活一个功能每2个小时以及每个12小时, 总是在00分钟的圆形小时。但是当bigHour被激活时,smallHour不应该运行。

你们有什么问题,我怎么能这样做?

他们被激活的功能是一种“奖励”功能,因此当bigHour事件发生时,它需要阻止小小时 - 所以他们不会得到2倍的奖励。

提前感谢,

1 个答案:

答案 0 :(得分:0)

.NET有一个名为System.Threading.Timer的类。

我更喜欢使用的构造函数之一是:

public Timer(
    TimerCallback callback,
    Object state,
    long dueTime,
    long period
)

dueTime毫秒过去时,.NET将以callback作为参数调用委托state。您的回调实现可以使用DateTime.Now来决定调用哪个函数。 period确定连续呼叫之间的延迟。

尽管使用它,但是将从线程池线程调用计时器回调。您可能需要使用锁来保护数据结构不被并发修改。