Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > базовый класс поток |
Автор: cthutq 3.4.2007, 21:14 | ||
борюсь тут с потоками и получилось примерно следующее
Тоесть достаточно унаследоваться от 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 4.4.2007, 16:02 |
boost::thread уже сам по себе неплохой класс. Что ты хочешь еще привнести туда, в плане функциональности, делая свой собственный класс? |
Автор: JackYF 4.4.2007, 16:21 |
что ж, ясно. Не совсем уверен, что архитектура правильная, но сейчас не предложу более хорошей ![]() |