CLR via C# 读书笔记 3-3 Thread.Sleep -1 0 1 和其他
Thread.Sleep(-1)
通知系统不要调度该线程,事实上这个方法没什么用,因为它让线程一直活着又什么都不做,
建议是直接终结了现场
Thread.Sleep(0)
告诉系统当前线程不需要剩下的时间片了,请系统去调度其他的线程
但是系统经过计划以后有可能还是觉得当前线程比较重要,又继续执行当前线程
这取决于优先级,如果其他优先级都比当前优先级低的话,那么当前线程会继续
Thread.Sleep(1)
强制上下文切换,线程会休眠超过1毫秒
Thread.Sleep(int)
休眠线程多少毫秒.
因为windows系统的计时器时间片切换是30ms...所以实际上.....这个时间都是不怎么准确的
提高优先级有利于提高准确度, 不过没有办法根本上解决这个问题