Класс CWinThread
Класс, представляющий поток исполнения в приложении.
class CWinThread : public CCmdTarget
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Создает объект CWinThread. |
Открытые методы
Имя |
Описание |
---|---|
Начинается выполнение объекта CWinThread. |
|
Переопределение для очистки когда поток завершается. |
|
Извлекает указатель на главное окно для потока. |
|
Возвращает приоритет текущего потока. |
|
Переопределение для инициализации экземпляра потока. |
|
Проверяет наличие специальных сообщений. |
|
Переопределение для выполнения обработки времени простоя поток- в XML-структуру. |
|
Создает сообщение с другим объектом CWinThread. |
|
Сообщения фильтров, прежде чем они отправляются в функции Windows TranslateMessage и DispatchMessage. |
|
Некоторые перехватывает сообщения до того, как они достигнут приложения. |
|
Перехватывает все необработанные исключения, вызываемые обработчиков сообщений и команды потока. |
|
Содержит цикл обработки сообщений потока. |
|
Уменьшает счетчик приостановки работы потока. |
|
Функции управления для потоков с сообщением нагнетает. Переопределение настраивать по умолчанию цикл обработки сообщений. |
|
Задает приоритет текущего потока. |
|
Увеличивает число поток приостановить. |
Открытые операторы
Имя |
Описание |
---|---|
Получает дескриптор объекта CWinThread. |
Открытые члены данных
Имя |
Описание |
---|---|
Определяет, является ли объект уничтожен при завершении потока. |
|
Дескриптор к текущему потоку. |
|
Идентификатор текущего потока. |
|
Указатель на главное окно контейнерного приложения, когда OLE-сервер активный в- размещения. |
|
Сохраняет указатель на главное окно приложения. |
Заметки
Главный поток выполнения обычно предоставляется объектом, производным от CWinApp; CWinApp является производным от CWinThread. Дополнительные объекты CWinThread позволяют выполнять несколько потоков в пределах заданного приложения.
2 Часто используемыми типами потоков, которые CWinThread поддерживает: рабочие потоки и потоки интерфейса пользователя. Рабочие потоки не имеют цикл обработки сообщений: например, поток, выполняющий вычисления фона в приложении электронных таблиц. Потоки интерфейса пользователя есть сообщения насоса и процессов, полученные из системы. CWinApp и производные от него классы примерами потоков интерфейса пользователя. Другие потоки интерфейса пользователя также может наследоваться напрямую от CWinThread.
Объекты класса CWinThread обычно существуют на длительность потока. Если нужно изменить эти расширения функциональности, установите m_bAutoDelete к FALSE.
Класс CWinThread необходим, чтобы сделать ваши код и MFC полностью потокобезопасным. Поток- локальные данные, используемые платформой для сохранения данных о поток- определенной управляются объектами CWinThread. Зависимость по этой причине на CWinThread для обработки поток- локальных данных, любой поток, который использует MFC должна быть создана MFC. Например, поток, переданный функцией среды выполнения _beginthread, _beginthreadex не может использовать API MFC.
Создание потока, вызов AfxBeginThread. 2 Формы, в зависимости от того, нужно ли поток операций или интерфейса пользователя. Если необходимо, чтобы поток интерфейса пользователя, передайте в AfxBeginThread указатель на CRuntimeClass вашего CWinThread- производный класс. Если нужно создать рабочий поток, передайте в AfxBeginThread указатель на функцию управления, и параметром функции контроля. Для обоих рабочих потоков и потоков интерфейса пользователя, можно указать необязательные параметры, которые изменяют приоритет, размер стека, флаги создания и атрибуты безопасности. AfxBeginThread возвращает указатель на новый объект CWinThread.
Вместо вызова AfxBeginThread, можно создать производный объект CWinThread а затем вызвать CreateThread. Этот метод двухступенный конструкции полезен, если нужно повторно использовать объект CWinThread между последовательными создания и прекращениями запуска потока.
Дополнительные сведения о CWinThread см. в разделе статьи многопоточность с C++ и MFC, Многопоточность. Создание потоков интерфейса пользователя, Многопоточность. Создание рабочих потоков и Многопоточность. Использование классов синхронизации.
Иерархия наследования
CWinThread
Требования
Заголовок: afxwin.h