Thread.Sleep()确保DateTime.Now不同的最短时间是多少?
Thread.Sleep()确保DateTime.Now不同的最短时间是多少?
鉴于DateTime具有Ticks属性,您可以认为以下内容就足够了:
Thread.Sleep(TimeSpan.FromTicks(1));
哪个会好的,但这可以保证后续调用DateTime.Now不相等?
更新:出现DateTime精度是硬件相关的,所以我将使用以下方法:
public static void SleepUntilDateTimeChanges() { DateTime now = DateTime.Now; while(now == DateTime.Now) Thread.Sleep(TimeSpan.FromMilliseconds(1)); }
“滴答”是100纳秒。 或1 / 10,000th毫秒。 Thread.Sleep
以毫秒运行。 虽然它接受 TimeSpan
是正确的,但是将忽略小于一毫秒的值(即与零相同)。 根据@wal,可以保证只有10毫秒的分辨率。 如果等待该数量,则应获取唯一的DateTime
实例。
另请参阅Eric Lippert的这个解释 ,它更详细地阐述了DateTime精度。
上述就是C#学习教程:Thread.Sleep()确保DateTime.Now不同的最短时间是多少?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/942898.html