boost::pool de threads::piscine vs boost::thread_group

J'essaie de comprendre les différents cas d'utilisation. et la différence entre les 2 fil des utilisations.
Cette est un tutoriel que j'ai lu ce qui explique boost::thread_group.

et voici un code que j'utilise:

boost::threadpool::pool s_ThreadPool(GetCoreCount());

CFilterTask task(pFilter,  //filter to run
    boost::bind(&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);

c'est le destructeur:

s_ThreadPool.wait(0);

pouvez-vous expliquer?

InformationsquelleAutor Gilad | 2013-05-21