It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center




已关闭8年。




Windows(通常)每秒执行一次线程切换的频率是多少?这与.NET线程不同吗?还是反过来问:一个线程(例如,正常线程优先级)可以运行多长时间?

最佳答案

Windows上下文切换的频率取决于系统的“量子”。根据操作系统是客户端还是服务器,此范围为10-15毫秒(每秒66-100次)。有关更多详细信息,我建议阅读Joe Duffy的《 Windows并行编程》一书。它详细介绍了类似这样的事情-例如详细信息“客户端OS ...是2个时钟间隔。...在服务器OS ...上是12个时钟间隔”。另外,他的文章[CLR Inside Out:使用并发性实现可伸缩性] [1]是必读的。

您可以对量子长度进行“编辑”。如果将“系统属性”中“性能选项/高级”中的“调整以下各项的最佳性能:”设置为“程序”,则时间会更短。如果将其设置为“后台服务”,则可获得更长的时间。

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

[1] http://www.360doc.cn/article/28217_2474333.html

10-07 18:54
查看更多