Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
там чуть хуже 26.08.09 17:05 Число просмотров: 2674
Автор: dl <Dmitry Leonov> Отредактировано 26.08.09 17:13 Количество правок: 4
|
> Почему и не могу понять - вроде МФСевый класс, а работает > через какую-то ж..., типа AfxBeginThread. > Почему нельзя было сделать так, чтобы объявил экземпляр > класса, а сам поток запускал через, типа > CWinThread.Start(), CWinThread.Kill() с возможностью > доступа, как к публичным свойствамна ходу, так и из него - > ко всем внешним переменным обычным образом?
Если бы дали создавать самому, то нашлись бы толпы программистов, создающих этот объект в автоматической памяти или забывающих удалять объект после завершения потока при создании в динамической памяти. Так же AfxBeginThread передается объект, способный создать потоковый объект так, как ей нужно. С инициализацией его чуть хуже, но вполне можно создать поток с CREATE_SUSPENDED, проинициализировать все, что нужно, через указатель, который вернула AfxBeginThread, и разбудить поток (штатная техника, описанная в MSDN) - это если хочется избежать глобальных переменных, конечно. Ну и доступ есть как ко внешним переменным из объекта, так и к его полям, только при доступе извне нужно быть уверенным, что он в этот момент существует.
CDocument и CView ведь тоже самостоятельно не создаются из тех же соображений удобства для фреймворка.
|
|
|