如何阻止线程纳秒或微秒? Sleep()
函数是不可能的,因为它接受毫秒,这显然不是我需要的。
答案 0 :(得分:5)
使用TStopWatch class,并编写一个旋转的while
循环,直到所需的滴答数(100纳秒间隔)已经过去。
property ElapsedTicks : Int64 read GetElapsedTicks;
这不会放弃对其他线程的控制;它只会在当前线程中等待所需的时间段。会有一定程度的错误;错误的数量取决于Delphi执行每个循环所需的时间。
进一步阅读
How to Accurately Measure Elapsed Time Using High-Resolution Performance Counter
答案 1 :(得分:5)
Windows不支持nano睡眠。 Windows使用的线程调度比这更粗糙。 Windows线程量程的数量级大于纳秒级。