在C#中获取线程时间片

时间:2015-06-25 02:55:54

标签: c# multithreading performance time scheduler

根据this,很明显框架是基于处理器,操作系统等的线程时间片动态的。

  

时间片的长度取决于操作系统和处理器。

但是,在给定系统上获取实际线程时间片的方法是什么?

我们在SleepThread.SpinWait(x)之间动态切换,以保持某些时序敏感代码在sub-ms范围内准确;但是需要根据底层系统的线程时间片保持该开关的可编程性,这样我们就不会使SpinWait(xxx)持续太长时间。

那么,如何在C#中获取线程时间片(5ms,10ms或20ms等)?

1 个答案:

答案 0 :(得分:1)

默认值大约为15毫秒,但可以更改。您可以查看以下SO问题:why-are-net-timers-limited-to-15-ms-resolution