title: C# Maximum Number of Threads
body: <p>I just started to work with threads and quickly I came to the very common question of how many threads are too many?<br>
  After doing some research I got even further confused.</p>
  
  <p><strong>task</strong> <br>
  I have 16 cores and a application generating 1000 objects, being despite from construction parameters consistent. Creating 1000 threads would usually create a huge overhead destroying the performance advantage from multithreading according to msdn documentation and  <a href="https://stackoverflow.com/questions/3844630/maximum-number-of-threads">Maximum number of threads</a>. Also I must stay within the 3.5 NET 32 bit limit (<a href="https://stackoverflow.com/questions/145312/maximum-number-of-threads-in-a-net-app">Maximum number of threads in a .NET app?</a>).</p>
  
  <p><strong>Question 1</strong><br>
  Having such a unilateral task, is it possible to create more threads than cores on the computer? Is .NET  optimizing something in there? What is the maximum number of threads I should use?</p>
  
  <p><strong>Question 2</strong><br>
  Is there a simple beautiful solution, other then queueing it with limit resources? Something like a semaphore where I create all the 1000 threads but immediately inactivating the threads in order to not allocate the default thread stack?</p>