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