IERO
Модератор
   
Карма: 8
Сообщений: 432
Debian Lenny
ОС:
 Linux
Браузер:
 Opera 9.52
|
 |
« : 14 Мая 2009, 20:02:29 » |
|
извиняюсь за некромантию, дубль 2. вопрос схожий, но поинтересней.
есть класс A, внутри которого существует список объектов класса B. class A{ .......... list<B*> B_List; ............... } class B{ short m_die_status; static void * FstThread(void *); } класс B имеет в конструкторе примерно такое: B::B(....) { if( ( pthread_create ( &main_thr, NULL, & (B::FstThread),this ) ) !=0) m_die_status=1; } в деструкторе B::~B(....) { m_die_status=1; pthread_join (main_thr, NULL ); } при этом осознание что пора заканчиваться наступает в потоке который FstThread. возникает вопрос - каким образом своевремено чистить B_List от тех объектов потоки которых уже отработали? или данная концепция изначально порочна и лучше в классе A создавать нитки, и внутри ниток создавать уже объекты, и как можно отслеживать в таком случае?
|
|
|
Записан
|
|
|
|
|