Kiedy wątki są dodawane do boost :: thread_group jak:Jak usunąć obiekt wątku dynamicznego po zakończeniu samego wątku?
boost::thread_group my_threads;
boost::thread *t = new boost::thread(&someFunc);
my_threads.add_thread(th);
wszystkie tworzone obiekty boost :: thread są usuwane tylko wtedy, gdy my_threads
obiekt jest poza zakresem. Ale mój główny wątek programu spawnuje wiele wątków podczas wykonywania. Jeśli więc około 50 wątków jest już wykonanych, około 1,5 Gb pamięci jest używane przez program, a pamięć ta jest zwalniana tylko podczas głównego zakończenia procesu.
Pytanie brzmi: Jak usunąć te dopalacze :: obiekt wątku po zakończeniu funkcji wątku?!
Uważam, że to pytanie jest podobne: http://stackoverflow.com/questions/3970818/whats-the-best-way-to-delete-boostthread-object-right-after-its-work-is-compl – Naveen
@Naveen, naprawdę potrzebuję otoki, która może przerwać wszystkie wątki z wątkami podrzędnymi, gdy wątek główny go o to poprosi. W pytaniu, które łączysz, polecam po prostu utworzyć wątek i odłączyć obiekt boost :: thread od niego. –