是否有区别(从性能角度):
Thread.Sleep(10000);
和
for(int i=0; i<100; i++)
{
Thread.Sleep(100);
}
单次调用是否Thread.Sleep(10000)
也会在这 10 秒内导致上下文切换(因此操作系统可以查看它是否已完成睡眠),还是该线程真的没有服务 10 秒?
是否有区别(从性能角度):
Thread.Sleep(10000);
和
for(int i=0; i<100; i++)
{
Thread.Sleep(100);
}
单次调用是否Thread.Sleep(10000)
也会在这 10 秒内导致上下文切换(因此操作系统可以查看它是否已完成睡眠),还是该线程真的没有服务 10 秒?
第二个代码(for循环)需要更多的进程交换,应该比Thread.Sleep(10000);
无论如何,您可以使用System.Diagnostics.Stopwatch
类来确定这两种方法的确切时间。我相信差异会非常非常小。
在任何情况下,由于以下开销,第二个循环都需要时间