Portál AbcLinuxu, 6. května 2025 13:54
boost::thread
), tam bezi (USB kamera, AVI player, RS232 virtual port). Problem vysvetlim na objekte std::cout . Jedna sa o staticky objekt, globalne deklarovany, ktory pouziva pretazny operator << ;
cout << "vypis" << premenna;
std::cout
sa ale moze volat pre vypis bud z hlavnej aplikacie alebo z vlaknien. Podla vas je nutne kazde volanie objektu std::cout << nieco; uzamikat mutexom (boost::mutex
)? Lebo mi aplikacia pada po par dnoch a neviem, ci to moze byt tym, ze saham v rovnakom case z roznych vlakien do rovnakej pamate objektu std::cout
; . Dik za radu :).
Log() << "velikost cehosi: " << cosi.velikost();
Co se týče pádu po několika dnech, nemáš tam memory leak? Zkus to projet valgrindem, zkus si pomocí htop zjistit co ta aplikace po pár dnech zabere (valgrind ti nezjistí virtuální úniky).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.