Поделиться через


CWorkerThread Class

Этот класс создает рабочий поток или использует существующую, ожидает одного или нескольких маркерах объекта ядра и выполняет заданную функцию клиента, когда один из маркеров.

Важно!

Этот класс и его члены нельзя использовать в приложениях, выполняемых в этой среде выполнения Windows.

template < 
class ThreadTraits= DefaultThreadTraits 
> 
class CWorkerThread

Параметры

Члены

Защищенные структуры

Имя

Описание

WorkerClientEntry

Открытые конструкторы

Имя

Описание

CWorkerThread::CWorkerThread

Конструктор рабочего потока.

CWorkerThread::~CWorkerThread

Деструктор для рабочего потока.

Открытые методы

Имя

Описание

CWorkerThread::AddHandle

Вызовите этот метод, чтобы добавить маркер waitable объекта в список поддерживаемому рабочим потоком.

CWorkerThread::AddTimer

Вызовите этот метод, чтобы добавить периодическое waitable таймер в список поддерживаемому рабочим потоком.

CWorkerThread::GetThreadHandle

Вызовите этот метод, чтобы получить дескриптор потока рабочего потока.

CWorkerThread::GetThreadId

Вызовите этот метод, чтобы получить идентификатор потока рабочего потока.

CWorkerThread::Initialize

Этот метод вызывается для инициализации рабочего потока.

CWorkerThread::RemoveHandle

Вызывайте этот метод для удаления маркера из списка waitable объектов.

CWorkerThread::Shutdown

Вызовите этот метод, чтобы отключить рабочий поток.

Заметки

Использовать CWorkerThread

  1. Создайте экземпляр этого класса.

  2. Вызов CWorkerThread::Initialize.

  3. Вызов CWorkerThread::AddHandle с маркером объекта ядра и указатель на реализацию IWorkerThreadClient.

    либо

    Вызовите CWorkerThread::AddTimer с указателем на реализацию IWorkerThreadClient.

  4. Реализуйте IWorkerThreadClient::Execute, чтобы предпринять какие-либо действия, если маркер или таймер просигнализированы.

  5. Удаление объекта из списка waitable объектов, вызов CWorkerThread::RemoveHandle.

  6. Завершить поток, вызов CWorkerThread::Shutdown.

Требования

Header: atlutil.h

См. также

Ссылки

DefaultThreadTraits

IWorkerThreadClient Interface

Основные понятия

Многопоточность. Создание рабочих потоков

Другие ресурсы

Классы ATL