スレッドがboost::thread_groupに追加されると、次のようになります。
boost::thread_group my_threads;
boost::thread *t = new boost::thread( &someFunc );
my_threads.add_thread(th);
my_threads
作成されたすべてのboost::threadオブジェクトは、オブジェクトがスコープ外の場合にのみ削除されます。しかし、私のプログラムのメインスレッドは、実行中に多くのスレッドを生成します。したがって、約50スレッドがすでに実行されている場合、約1.5Gbのメモリがプログラムによって使用され、このメモリはメインプロセスの終了時にのみ解放されます。
問題は、スレッド関数が終了したときにこれらのboost :: threadオブジェクトを削除する方法ですか?!