gpt4 book ai didi

c# - 安排在特定时间运行方法。

转载 作者:太空狗 更新时间:2023-10-29 21:45:40 25 4
gpt4 key购买 nike

这是一个相当简单的问题,但每次我试图找到答案时,它总是显示有关 Windows 计划任务的信息,但事实并非如此。

假设我的程序基本上是这样的:

void StartDoingThings()
{
//At Specific System.DateTime
DoSomething()

//At another specific System.Datetime
DoSomethingElse()
}

我应该用什么来代替这些注释来使这些方法在不同的日期时间运行。

我可以使用 Thread.Sleep() 甚至 System.Threading.Timers 并根据 (DateTimeOfEvent - DateTime.Now) 计算时间间隔,但有什么要说的吗(假设程序仍在运行):在 9 2012 年 11 月 30 日上午 :30:00,执行方法 DoAnotherThing() ?

最佳答案

如果你想“安排”一个方法在预定的时间做某事,有很多方法可以做到。我不会使用 Thread.Sleep(),因为那样会占用一个线程什么也不做,这是一种资源浪费。

一种常见的做法是使用轮询方法,该方法按固定的时间安排(假设每分钟一次)唤醒并查看要执行的共享任务列表。 System.Timer 可用于轮询方法:

aTimer = new System.Timers.Timer(10000);
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

OnTimedEvent 方法可以包含维护要执行的“任务”集合的代码。当一个任务的时间到了,下一次运行 Timer 将导致它执行。

关于c# - 安排在特定时间运行方法。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13633842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com