我有一个帖子,我希望它等到第二天的特定时间。 实现这一目标的最佳方式是什么?
我尝试了两种选择:
1
var restTime = DateTime.Today.AddDays(1).AddHours(hour).Subtract(DateTime.Now);
Thread.Sleep(restTime);
2
var restTime = DateTime.Today.AddDays(1).AddHours(hour).Subtract(DateTime.Now);
SpinWait.SpinUntil(() => false, restTime);
答案 0 :(得分:3)
答案 1 :(得分:1)
SpinWait是一个大不!使用spingwait,你的线程不会放弃它,并将继续消耗资源。
我会使用系统计时器,让它在比较的指定时间通知我的功能,然后再次检查
答案 2 :(得分:0)
我建议在这种情况下使用Timer。
var intervalTime= DateTime.Today.AddDays(1).AddHours(hour).Subtract(DateTime.Now);
Timer stateTimer = new Timer(
timerDelegate, autoEvent, delayTime, intervalTime);
http://msdn.microsoft.com/en-us/library/ah1h85ch%28v=vs.100%29.aspx