激活功能作为一个特定的小时,然后睡X时间

本文关键字:小时 然后 时间 一个 功能 激活 | 更新日期: 2023-09-27 18:11:01

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

我尝试完成的是类似的东西,我从控制台有2个输入参数它们被称为

smallHourbigHour

我们设smallHour = 2 and bigHour = 12,

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

你们有什么好主意吗?

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

提前致谢

激活功能作为一个特定的小时,然后睡X时间

。. NET有一个类叫做System.Threading.Timer.

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

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

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

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