1

对不起,我对 c# 有点陌生 :)

我试图完成的是类似的事情,我有来自控制台的 2x 输入参数,它们被称为

小小时大小时

假设 smallHour = 2 和 bigHour = 12,

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

你们有什么我可以做到的吗?

他们激活的功能是一种“奖励”功能,因此为什么当 bigHour 事件发生时它需要阻止 smallHour - 所以他们不会获得 2x 奖励。

提前致谢,

4

1 回答 1

0

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

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

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

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

但是请谨慎使用,计时器回调将从线程池线程中调用。您可能需要使用锁来保护数据结构免受并发修改。

于 2013-04-25T21:55:16.457 回答