C#如何延迟1微秒

 我来答
百度网友be1d231a
2018-05-29 · TA获得超过243个赞
知道小有建树答主
回答量:121
采纳率:77%
帮助的人:37.8万
展开全部
C#没有办法精确延时1微秒,中间调度时间尺度与微秒相当
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西瓜什么也不说
2018-05-28 · TA获得超过3565个赞
知道小有建树答主
回答量:205
采纳率:80%
帮助的人:54.9万
展开全部
使用 Thread.Sleep(),但是单位需要去换算一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Tech_Monkeye5
2018-06-05 · TA获得超过984个赞
知道小有建树答主
回答量:330
采纳率:92%
帮助的人:80万
展开全部
wait方法!
事实上,Sleep和Wait都可以延时,但是Sleep之后,重新由系统调用线程,这个需要时间的!所以sleep也可以延时指定的时间,启动时间却不知道了,而wait则是持有资源直接进行等待,所以基本上来说可以精确时指定的时间的!
一般我们都认为sleep/wait都是可达到指定时间,如果量级是在秒上的话(忽略了sleep之后重新获得资源的等待时间),如果类似于毫秒与微秒的级别时不得不考虑堵塞之后系统干的事了!正常的情况下,在调整算法时会使用到nop(停机码)来调整运行的时间,这个级别与CPU的频率有关。而现在语言为了防止类似的情况,所以引用了一个新的单位叫“滴嗒”的单位,也就是ticket,我们的Timespan的可以精确到这个单位的!注意,Timespan可以精确到滴嗒,但Datetime却只精确到秒后七位!也就是说DateTime运行出来的值虽然有滴嗒,但其精确值已经只到微秒了(第七位其实只有1/3度量)!
比如:用两个DateTime来测试你程序运行时间,那只能是微级估计而已——别告诉别人你精确到了多少,应该用的是StopWatch类才是精确确定运行时间的(运行代码时受到多种因素影响,多次值也并不完全一样)。所以在C#中实现类似的微秒级还是可以的!
由于IL的缘故,如果实现类似于nop停机码时,在C#语言中确实无法实现,我在IL语言中也没有发现其实现,但我估计是有实现的,只不过是MSIL并未公布。至少在CLR肯定会存在类似nop的代码的翻译的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
虎从来不吃人
2018-05-28 · TA获得超过101个赞
知道答主
回答量:90
采纳率:77%
帮助的人:18.8万
展开全部
Sleep(1)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式