.net – Windows每秒执行一次线程切换的频率是多少?

Windows(通常)每秒多少次进行一次线程切换?这与.NET线程不同吗?或者反过来问:允许运行一个线程(例如,普通线程优先级)多长时间?
最佳答案
Windows上下文切换的频率取决于系统“量子”.此量程的范围为10-15毫秒(每秒66-100次),具体取决于操作系统是客户端还是服务器.有关更多细节,我建议阅读Joe Duffy的书“Concurrent Programming on Windows”;它对这类事情非常详细 – 例如.详细说明“客户端操作系统…是2个时钟间隔….在服务器操作系统上…是12个时钟间隔”.他的文章CLR Inside Out: Using concurrency for scalability也是必读的.

你可以“编辑”量子长度.如果在“系统属性”的“性能选项/高级”中将“调整以获得最佳性能:”设置为“程序”,则可以获得更短的量程.如果将其设置为“后台服务”,您将获得更长的量.

如果没有理由进行上下文切换,则线程将获得所需的时间.

转载注明原文:.net – Windows每秒执行一次线程切换的频率是多少? - 代码日志