визначено #IF (_ATL_SINGLE_THREADED)
typedef CComSingleThreadModel CComGlobalsThreadModel;
визначено #Elif (_ATL_APARTMENT_THREADED)
typedef CComMultiThreadModel CComGlobalsThreadModel;
# інше
typedef CComMultiThreadModel CComGlobalsThreadModel;
#endif
Залежно від потокова модель використовується заявку ім'я typedef CComGlobalsThreadModel посилання або CComSingleThreadModel або CComMultiThreadModel. Ці класи надають додаткові typedef імен для посилання критичної секції клас.
Приміткаnbsp;CComGlobalsThreadModel не посилається клас CComMultiThreadModel&NoCS.
За допомогою CComGlobalsThreadModel звільняє вас від встановлення певного класу threading моделі. Незалежно від потокова модель використовується називається відповідних методів.
На додаток до CComGlobalsThreadModelATL надає ім'я typedef CComObjectThreadModel. Класу, які посилаються на кожного typedef залежить від потокова модель, що використовуються, як показано в нижченаведеній таблиці:
| Threading моделі | |||
| typedef | Єдиний | Квартира | Безкоштовні |
| CcomObjectThreadModel | S | S | М |
| CcomGlobalsThreadModel | S | М | М |
S =CComSingleThreadModel; M =CComMultiThreadModel
Використовувати CComObjectThreadModel протягом клас один об'єкт. Використання CComGlobalsThreadModel в об'єкта, що є глобально вашої програми, або якщо ви хочете захистити модуль ресурсів через декілька потоків.
# включити lt;atlbase.h>
Дивіться також CComObjectRootEx