title: Suggest a way in threading that always fixed number of threads must be used in computing?
body: <p>I have an array of filepath in <code>List&lt;string&gt;</code> with thousands of files. I want to process them in a function parallel with 8 threads.</p>
  
  <pre><code>ParallelOptions opt= new ParallelOptions();
  opt.TaskScheduler = null;
  opt.MaxDegreeOfParallelism = 8;
  Parallel.ForEach(fileList, opt, item =&gt; DoSomething(item));
  </code></pre>
  
  <p>This code works fine for me but it guarantees to run max 8 threads and I want to run 8 threads always. CLR decides the number of threads to be use as per CPU load.</p>
  
  <p>Please suggest a way in threading that always 8 threads are used in computing with minimum overhead.</p>