title: C++11: std::thread pooled?
body: <p>In C++03 I used pthread with a self-built thread pool that always kept a couple of threads running (since <code>pthread_create</code> is slow), this way I was able to launch threads for small tasks without thinking about performance issues.</p>
  
  <p>Now, in C++11 we have <code>std::thread</code>. I guess the standard doesn't say anything about the specific implementation, so my question is about the standard library implementations. Are they generally opting for a pooled approach where constructing <code>std::thread</code>s is cheap (and e.g. doesn't call <code>pthread_create</code> on posix), or will <code>std::thread</code> just be a wrapper?</p>
  
  <p>In other words, is a thread pool still recommended in C++11, or should I just create a <code>std::thread</code> whenever I need one and leave performance up to the standard library?</p>