title: C# When a managed thread ends its time-slice will it incur context switch?
body: <p>In Russinovich book it says that thread (NOTE: this is about OS thread) will need dispatching (scheduling) if it a) became ready b) ended its timeslice, yields or blocks.</p>
  
  <p>I have a managed thread in my C# real-time app for which is very important to achieve as fewer context switches as possible.</p>
  
  <p>This thread has Highest priority and the process has RealTime priority which makes my thread OS priority 26 out of 31.</p>
  
  <p>What is going to happen to my thread when it ends its timeslice and <strong>there are no waiting threads with priority >= 26 ?</strong> </p>
  
  <p><strong>Will be there a context switch to reschedule my thread to run again or context switch will be avoided and the thread will be running uninterrupted?</strong></p>
  
  <p>If there will be context switch - can anyone tell <strong>how many CPU cycles it takes on average</strong>?</p>
  
  <p>I'd appreciate simple and <strong>definitive</strong> answers!</p>
  
  <p>Thank you !</p>