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


CComGlobalsThreadModel

Вызывает соответствующие методы модели потока, независимо от используемой потоковой модели.

#if defined( _ATL_SINGLE_THREADED ) 
   typedef CComSingleThreadModel CComGlobalsThreadModel; 
#elif defined( _ATL_APARTMENT_THREADED ) 
   typedef CComMultiThreadModel CComGlobalsThreadModel; 
#elif defined( _ATL_FREE_THREADED ) 
   typedef CComMultiThreadModel CComGlobalsThreadModel; 
#else 
   #pragma message ("No global threading model defined") 
#endif

Заметки

В зависимости от потоковой модели, используемой приложением, имя CComGlobalsThreadModeltypedef ссылается либо на CComSingleThreadModel или CComMultiThreadModel. Эти классы предоставляют дополнительные имена typedef для ссылки на класс критической секции.

Примечание

CComGlobalsThreadModel не ссылается на класс CComMultiThreadModelNoCS.

Использование CComGlobalsThreadModel позволяет избежать указания конкретного класс потоковой модели. Независимо от используемого потоковой модели, будут Вызываются соответствующие методы.

В дополнение к CComGlobalsThreadModel библиотеки ATL предоставляет имя CComObjectThreadModeltypedef. Класс, ссылающегося на каждым зависит от typedef потоковая модель используется, как показано в следующей таблице:

typedef

Работа с потоками Единственной

Потоковая модель Подразделение

Свободная работа с потоками

CComObjectThreadModel

S

S

M

CComGlobalsThreadModel

S

M

M

S=CComSingleThreadModel; M=CComMultiThreadModel

Используйте CComObjectThreadModel в отдельный класс объектов. Используйте CComGlobalsThreadModel в объекте, который глобально доступен в программе или нужно защитить ресурсы модуля через несколько потоков.

Требования

Header: atlbase.h

См. также

Ссылки

CComObjectRootEx Class

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

ATL Class Overview

ATL Typedefs