![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
cthutq |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 16.4.2006 Репутация: нет Всего: нет |
борюсь тут с потоками и получилось примерно следующее
Тоесть достаточно унаследоваться от IThread и с помощью Thread можно запускать поток класса. Но во проблемма. Как хранить Thread ? Приходится вместе с наследниками IThread. А как быть если я хочу наследники помещать в контейнер и запускать их ? Тоесть придется тамже хранить стартеры потоков. Была идея хранить стартеры прям в самих наследниках и выпускать наружу лишь их интерфейсы. Но как-то криво. Наследоваться от Thread тоже не получиться - нельзя в списке конструктора использовать *this А иначе никак не проинициализировать Thread. Как быть ? И правильна ли вообще архитектура ? P.S. И хотел в Thread передавать weak_ptr<IThread>, но что-то с enable_shared_from_this <IThread> не получилось. Когда пытаюсь вызвать shared_from_this () падает с bad_weak_ptr Может кто знает как правильно ? |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
boost::thread уже сам по себе неплохой класс. Что ты хочешь еще привнести туда, в плане функциональности, делая свой собственный класс? |
|||
|
||||
cthutq |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 16.4.2006 Репутация: нет Всего: нет |
1. Хочу избавиться от постоянного написания одного и того же кода (например запуск и остановка потока, которые однотипны для каждого класса). Для этого класс Thread 2. Хочу механизм оповещения о завершении тоже написать один раз и просто наследоваться от него и перекрывать виртуальные методы. Для этого класс IThread 3. Ну и хотелось бы решить вопрос с запуском потока. |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
что ж, ясно. Не совсем уверен, что архитектура правильная, но сейчас не предложу более хорошей
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |