title: Changing thread priority to make my program and computer more responsive
body: <p>I've written a .NET winforms application that uses a secondary thread to do some heavy processing, which communicates it's progress back to the UI thread. Everything works correctly, the form shows the progress, and I've also created a cancel button to interrupt the processing thread. However, when the time consuming process is going the application and my entire computer slows way down. It takes a long time drag windows around, and there is even a significant delay when trying to type letters into notepad.</p>
  
  <p>I'm assuming I need to reduce the priority of the processing thread, and/or increase the priority of the UI thread. Is this right? Right now both threads are Normal priority.</p>
  
  <p>Is it just as easy as the follwing? Or is there something else I should do?</p>
  
  <pre><code>Thread.CurrentThread.Priority = ThreadPriority.AboveNormal;
  </code></pre>
  
  <p>How should I change the priorities? Should I reduce the priority of the processing, or increase the priority of the UI, or both? And to what setting? AboveNormal, or highest?</p>