【发布时间】:2011-02-26 18:28:29
【问题描述】:
由于 Java 很久以前就有 Sleep and Yield,我发现 answers 适用于该平台,但不适用于 .Net
.Net 4 包含新的 Thread.Yield() 静态方法。以前将 CPU 交给其他进程的常用方法是 Thread.Sleep(0)。
除了返回布尔值的 Thread.Yield() 之外,还有其他性能、操作系统内部差异吗?
例如,我不确定 Thread.Sleep(0) 在将当前线程更改为等待状态之前是否检查其他线程是否准备好运行......如果不是这样,当没有其他线程准备好时,Thread.Sleep (0) 似乎比 Thread.Yield() 更糟糕。
【问题讨论】:
标签: .net multithreading