.NET Stopwatch
을 재미있게 구현하려고 시도했지만 예상치 못한 결과가 발생했습니다.Thread.Sleep으로 체크하면 스톱워치가 정확하지 않은 이유는 무엇입니까?
이 프로그램에서 약 100ms의 실행 시간이 예상됩니다.
Stopwatch
클래스가 정확하지 않거나 여기 무슨 일이 벌어지고 있습니까?
번호 : 적어도 N 대와 MCSE :
namespace Timer
{
class Program
{
Stopwatch s = new Stopwatch();
static void Main(string[] args)
{
s.Start();
for (int i = 0; i < 100; i++)
{
Thread.Sleep(1);
}
s.Stop();
Console.WriteLine("Elapsed Time " + s.ElapsedMilliseconds + " ms");
Console.ReadKey();
}
}
}
결과 190 ms
코드 붙여 넣기를 복사하여 붙여 넣으십시오. –
... uff ... 'Thread.Sleep (n)'이 (가) n-msecs가 아니기 때문에 * 도와 드리겠습니다. –
먼저 Thread.Sleep을 호출 할 때 오버 헤드 스위칭 스레드가 있습니다. 둘째로 쓰레드가 1ms 후에 돌아올 수는 없다. – BoeseB