0
我需要我的程序等待大约1ms。 要做到这一点我用:比Thread.Sleep(1)更快?
System.Threading.Thread.Sleep(1)
但大约慢10倍。
下面的程序:
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
for (int i = 0; i < 1000; i++)
System.Threading.Thread.Sleep(1);
Console.WriteLine(stopWatch.ElapsedMilliseconds);
我得到的输出:15110
。
有没有办法只停留1ms?
更新1:我为什么要做这个
在公司,我的工作,有一个PC控制的机器(CNC等离子)。 有人通过密码保护了配置区域,没有人记得密码。 由于密码只能通过鼠标输入,因此我正在写一个强制程序来获取该密码。
问题是我需要等待每个输入的数字之间大约1ms。
更新2:有一个类似的问题,但没有解决:(
为什么你想要阻止你的程序正好1ms? – Dai 2014-11-21 10:07:02
[相关](http://stackoverflow.com/q/8742/1997232)。 – Sinatr 2014-11-21 10:07:24
***请记住,'for'循环也会减慢速度,Console.WriteLine和定时器本身也会变慢。它*可以*停止程序1ms,但你额外的'for'循环和定时器减慢它。我发现将输出写入屏幕会减慢最大的一切,可能会在Console.WriteLine之前将值赋给变量,然后输出该变量。 – cybermonkey 2014-11-21 10:07:32