ATL Threading Model

There are 3 threading models, which are self-explanatory

  • CComSingleThreadModel
  • CComMultiThreadModel
  • CComMultiThreadModelNoCS

ATL also defines a couple typedefs

  • CComObjectThreadModel
  • CComGlobalsThreadModel

But you don’t directly handle that. The above are selected by compiler flags

  • _ATL_SINGLE_THREADED
  • _ATL_APARTMENT_THREADED
  • _ATL_FREE_THREADED

References