Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
кроме того 27.08.09 17:01 Число просмотров: 3038
Автор: dl <Dmitry Leonov> Отредактировано 27.08.09 17:14 Количество правок: 2
|
Никто не мешает и работать в стиле "создал потоковый объект - запустил поток через его функцию" (хотя, честно говоря, я его раньше пропускал мимо глаз, да и сейчас он кажется избыточным):
Instead of calling AfxBeginThread, you can construct a CWinThread-derived object and then call CreateThread. This two-stage construction method is useful if you want to reuse the CWinThread object between successive creation and terminations of thread executions.
Нужно просто помнить, что есть два варианта AfxBeginThread. Первый - просто обертка вокруг APIшной CreateThread, только вместо хэндла возвращает указатель на объект стандартного CWinThread. По сравнению с CreateThread она нужна только для корректной инициализации внутренностей MFC и в большинстве случаев этого достаточно. Если хочется более сложной функциональности, например, не нравится общаться с оконными объектами только через отправку сообщений, то берется второй вариант с честным наследованием от CWinThread. Причем в этом случае можно использовать AfxBeginThread, а можно не использовать, запуская CWinThread::CreateThread, в последнем случае ответственность за удаление объекта уже на программисте.
Итого в MFC есть целых три способа запуска потоков, практически на любой вкус.
|
|
|