title: How many threads can I run concurrently?
body: <p>A comment to <a href="https://stackoverflow.com/questions/4816839/feedback-from-threads-to-main-program/">another of my questions</a> says that I can only run "so many" threads concurrently, a notion which I have seen elsewhere.</p>
  
  <p>As a threading novice, how can I determine the maximum number of threads to use? Or is this a "how long is a piece of string" question? What does it depends on? Hardware config or what?</p>
  
  <p>(VB in MS Visual Studio with .Net 3.5, if that matters)  </p>
  
  <hr>
  
  <p>Update: is anyone aware of any s/w tool which could suggest a number of threads (or tasks), or should I just code my own which keeps trying different numbers until throughput drops?</p>
  
  <hr>
  
  <p>[Upperdate] Almost seven years later &amp; we now have <a href="https://softwarerecs.stackexchange.com/">a software recommendations site</a>, so I <a href="https://softwarerecs.stackexchange.com/questions/46195/tool-to-tell-me-the-optimal-number-of-threads">asked</a> if there is a tool to help with this.</p>