Advertisements
Example Code:
.net core 3
await Task.Delay( 1000 );
Console.WriteLine( "Hello World!!!!!!!!!" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() );
await Task.Delay( 1000 );
Console.WriteLine( "Hello World!!!!!!!!!" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() );
Console.WriteLine( "Hello World!!!!!!!!!" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() );
Console.WriteLine( "Hello World!!!!!!!!!" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() );
Console.WriteLine( "Hello World!!!!!!!!!" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() );
Console.WriteLine( "Hello World!!!!!!!!!" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() );
await Task.Delay( 1000 );
Console.WriteLine( "Hello World!!!!!!!!!" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() );
Console.WriteLine( "Hello World!!!!!!!!!" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() );
Console.WriteLine( "Hello World!!!!!!!!!" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() );
Console.WriteLine( "Hello World!!!!!!!!!" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() );
Expect to get different number , but all the same if without any delay.
I wonder how could this happened?
>Solution :
Windows is not a real-time operating system. It has a system clock resolution of 15.6ms.
The default timer resolution on Windows is 15.6 ms – a timer interrupt 64 times a second.
Your code is running faster than the system updates.