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