Lipetsk *nix Association Forum Lipetsk *nix Association Forum
Новости:
 
*
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь. 19 Апреля 2025, 14:35:22


Войти


Страниц: [1]   Вниз
  Печать  
Автор Тема: [c++]разнести класс на потоки  (Прочитано 22084 раз)
0 Пользователей и 1 Гость смотрят эту тему.
IERO
Модератор
*****

Карма: 8
Сообщений: 432


Debian Lenny

ОС:
Linux Linux
Браузер:
Opera 9.52 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 создавать нитки, и внутри ниток создавать уже объекты, и как можно отслеживать в таком случае?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2011, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM