Csharp/C#教程:Thread.Sleep()确保DateTime.Now不同的最短时间是多少?分享


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

(0)
上一篇 2021年11月13日
下一篇 2021年11月13日

精彩推荐