正在做的测试软件,对时间的精度要求特别的高,要求获取纳秒级别的时间戳,目前C#的函数只能获取到毫秒级别的时间戳,纳秒时间戳要怎么获取呢?
额,tick是精度是100纳秒,tostring 的参数”fffffff“是千万分之1秒(当然也是纳秒级别),普通程序100纳秒精度,应该够用
如果你都说你是100纳秒以内,那就只能调用系统api了
https://www.jb51.net/article/220336.htm
如果这个你都不满意,你只能自己写个ring0级别的驱动,直接在驱动里下定时器中断拦截了
别做梦了
不管你是做一个控制台程序、是窗口应用程序还是网页程序,它总是基于windows操作系统或者linux操作系统的,这两个操作系统都是多用户多任务的,从原理上你的进程就是要被调度的,是分时复用的,不能保证霸占cpu一直执行的(你写个while死循环不加sleep也没用),所以获取到小数点后几位的时间没有任何意义
你想精确的控制程序的运行,那必须用单线程的处理器,比如单片机或者PLC
硬件问题就要用硬件解决,不要老想着用软件解决一切难题
你编程再厉害也不可能让一个笔记本发射子弹