Как удалить объект потока ускорения, когда сам поток завершается?

Когда потоки добавляются в boost::thread_group, например:

boost::thread_group my_threads;
boost::thread *t = new boost::thread( &someFunc );
my_threads.add_thread(th);

все созданные объекты boost::thread удаляются только тогда, когда объект my_threadsвыходит из сфера. Но основной поток моей программы порождает множество потоков во время выполнения. Таким образом, если уже выполнено около 50 потоков, программа использует около 1,5Gbпамяти, и эта память освобождается только при завершении основного процесса.

Вопрос: Как удалить эти объекты boost::thread после завершения функции потока?!

5
задан Didar_Uranov 21 May 2012 в 08:58
поделиться