猿问

Thread.SpinWait和Thread.Sleep区别

想请问一下,它们两个的区别是什么,好像都是等待几秒钟

POPMUISE
浏览 413回答 2
2回答

冉冉说

MSDN解释: SpinWait 方法在实现锁定方面十分有用。.NET Framework 中的类(例如 Monitor 和 ReaderWriterLock)在内部使用此方法。SpinWait 实质上会将处理器置于十分紧密的循环中,其循环计数由 iterations 参数指定。因此,等待的持续时间取决于处理器的速度。 针对这一点,将此方法与 Sleep 方法进行对比。调用 Sleep 的线程会产生其处理器时间当前片断的剩余部分,即使指定的时间间隔为零也不例外。如果为 Sleep 指定非零的时间间隔,则线程计划程序会不考虑该线程,直到该时间间隔结束。
随时随地看视频慕课网APP
我要回答