title: boost::threadpool::pool vs.boost::thread_group
body: <p>I'm trying to understand the different use cases. and the difference between the 2 thread uses. 
  <a href="http://thisthread.blogspot.co.il/2011/04/multithreading-with-asio.html" rel="noreferrer">This</a> is a great tutorial I have read which explains <code>boost::thread_group</code>.</p>
  
  <p>and here is a code I'm using:</p>
  
  <pre><code>boost::threadpool::pool s_ThreadPool(GetCoreCount());
  
  CFilterTask task(pFilter,  // filter to run
      boost::bind(&amp;CFilterManagerThread::OnCompleteTask, this, _1, _2) // OnComplete sync callback          // _1 will be filter name  // _2 will be error code
                  );
  
  // schedule the new task - runs on the threadpool
  s_ThreadPool.schedule(task);
  </code></pre>
  
  <p>this is the destructor:</p>
  
  <pre><code>s_ThreadPool.wait(0);
  </code></pre>
  
  <p>can you please explain?</p>