Thread.Sleep 的精度问题
我在线程中这样写:
int i=0;
while()
{
i++;
Thread.Sleep(1);
}
我们知道线程休眠的定时精度很差的,网上有说法是15ms。不论实际是多少,i 应该远远落后于实际的休眠时间。比如说当 i 为 3 时,实际休眠的时间应该已经是几十ms 了。
但是实验结果却不是这样!线程根本就没休眠,i 瞬间暴涨!(顺便祝每个回帖的人也能在2017年MONEY暴涨)
当然,如果我把1 加大,比如加到1000,那么休眠效果就出现了。
难道休眠时间太短的话就索性不休眠吗?线程调度这么聪明吗?