<分区>
Windows(通常)每秒进行一次线程切换的频率是多少?这与 .NET 线程不同吗?或者反过来问:一个线程(比如说,普通线程优先级)允许运行多长时间?
<分区>
Windows(通常)每秒进行一次线程切换的频率是多少?这与 .NET 线程不同吗?或者反过来问:一个线程(比如说,普通线程优先级)允许运行多长时间?
最佳答案
Windows 上下文切换的频率取决于系统“量子”。这个量程范围为 10-15 毫秒(每秒 66-100 次),具体取决于操作系统是客户端还是服务器。有关详细信息,我建议阅读 Joe Duffy 的书 Windows 上的并发编程;它详细介绍了这样的事情——例如详细说明“客户端操作系统……是 2 个时钟间隔。……在服务器操作系统上……是 12 个时钟间隔”。此外,他的文章 [CLR Inside Out: Using concurrency for scalability][1] 是必读的。
您可以“编辑”量子长度。如果您将系统属性中的性能选项/高级中的“调整以获得最佳性能:”设置为“程序”,您将获得更短的量程。如果您将其设置为“后台服务”,您将获得更长的时间。
如果没有理由进行上下文切换,线程将获得所需的时间。
关于.net - Windows 每秒多久进行一次线程切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12320748/