CComGlobalsThreadModel

# if определены (_ATL_SINGLE_THREADED)
 typedef CComSingleThreadModel CComGlobalsThreadModel;

# elif определены (_ATL_APARTMENT_THREADED)
 typedef CComMultiThreadModel CComGlobalsThreadModel;

# else
 typedef CComMultiThreadModel CComGlobalsThreadModel;

# endif

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

Примечаниеnbsp;CComGlobalsThreadModel не ссылается класс CComMultiThreadModel&NoCS.

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

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

Потоковая модель
typedef Один Квартира Свободный
CcomObjectThreadModel S S M
CcomGlobalsThreadModel S M M

S =CComSingleThreadModel; M =CComMultiThreadModel

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

# include lt;atlbase.h>

См. также CComObjectRootEx

Index