title: Basic multi-threading in C / C++ -- hints, advice, tutorial, some direction?
body: <p>I would like to learn how to build a multi-threaded application, but I don't even really know where to start.</p>
  
  <p>How do most people implement multi-threading? Do they use the boost library? Is there some other way to do it? (using standard C / C++)</p>
  
  <p>I understand the concept, but totally have no idea where to even start to actually learn how to do it. Can anyone recommend anything?</p>
  
  <p><a href="http://msdn.microsoft.com/en-us/library/7t9ha0zh%28v=VS.80%29.aspx" rel="nofollow noreferrer">http://msdn.microsoft.com/en-us/library/7t9ha0zh%28v=VS.80%29.aspx</a>  &lt;--- Are these standard C++, or some Microsoft-only implementation?</p>
  
  <p>Am I correct that the multithreading libraries are contained in the Windows API?
  I found an example on MSDN (
  <a href="http://msdn.microsoft.com/en-us/library/esszf9hw%28v=VS.80%29.aspx" rel="nofollow noreferrer">http://msdn.microsoft.com/en-us/library/esszf9hw%28v=VS.80%29.aspx</a>) and the functions it uses (ReleaseMutex, etc) seem to be in windows.h. Is this what most people are using when they do Windows programming?</p>