Tworzę około 300 wątków pobocznych w procesie. Czy istnieje sposób na dołączenie do określonego wątku na podstawie identyfikatora wątku?Dołącz do określonego wątku doładowania
Odpowiedz
To niebiańskie zależy od sposobu zapisania boost::thread
s. Jeśli je zapisać w pojemniku (z T = boost::thread*
), można po prostu użyć czegoś jak
for(iterator it = ctn.begin(); it != ctn.end(); ++it){
if(it->get_id() == join_thread_id){
it->join();
break;
}
}
Jednakże, jeśli nie zapisać wątki gdzieś i po prostu użyć new boost::thread
bez zapisywania wskaźnik nie jest to możliwe, ponieważ impuls robi nie zapewniają żadnej funkcji automatycznego księgowania.
1. Uwaga: należy pamiętać, że do zapisania identyfikatora należy użyć boost::thread::id
.
2. Uwaga: przydaje się przy takich zadaniach: std::map<boost::thread::id,boost::thread*>
.
lub 'find_if (begin (ctn), end (ctn), [join_thread_id] (iterator to) {return it-> get_id() == join_thread_id;}); ' –
Jeśli jest dużo wątków, czy mapa nie jest lepsza? Pytam o to z myślą o osiągach. –
@ AdriC.S .: To zależy od znaczenia "dużo". Mapa skaluje się ładnie wraz z liczbą argumentów (złożoność pod liniowego wyszukiwania), ale w zależności od faktycznej liczby elementów mały wektor może przewyższyć niewielką mapę. –
- 1. Podaj nazwę wątku doładowania?
- 2. jQuery dołącz div do określonego
- 3. Kiedy odłączyć lub dołączyć do wątku doładowania?
- 4. Wysyłaj dane do określonego wątku
- 5. Używanie wątku doładowania i niestanowiącej klasy funkcji
- 6. Spanie wątku doładowania przez kilka nanosekund
- 7. Yii2 - Dołącz skrypt JS tylko do określonego widoku
- 8. Dołącz dane do obiektu S3
- 9. Zainstaluj nagłówki Boost do określonego katalogu (Windows)
- 10. Dołącz do odpowiednika w systemie Windows
- 11. Dołącz do strumienia CloudBlockBlob
- 12. Dołącz bajt do łańcucha?
- 13. Dołącz do std :: array
- 14. Dołącz słownik do słownika?
- 15. Dołącz NSInteger do NSMutableData
- 16. Dołącz Whitespace do stringbuildera?
- 17. OGRANICZENIE DOŁĄCZ DO SQL
- 18. Dołącz TextView do RecyclerView
- 19. Dołącz obraz do Gmaila
- 20. Budowanie podzbioru bibliotek doładowania
- 21. Dołącz do 2 tabel i policz liczbę pól określonego zdarzenia w SQL
- 22. Rozszerzanie serializacji doładowania
- 23. C++ 11 bezpiecznie dołącz do wątku bez użycia bloku próbnego/przechwytywania
- 24. jak ustawić powinowactwo procesora do określonego pthread?
- 25. Jak używać zmiennej warunku doładowania w celu oczekiwania na zakończenie przetwarzania wątku?
- 26. doładowania powiązanie nie
- 27. Łączenie bibliotek doładowania
- 28. Podsumowanie podciągów doładowania dopasowanie
- 29. Prawidłowe stosowanie doładowania lambda
- 30. doładowania awaria współprogram twierdzenie
W jaki sposób zarządzasz tymi wątkami? (W jakiś sposób pamiętasz, że nic nie wystrzeliło, prawda?) –