Especificando o modelo de threading para um projeto (ATL)

As seguintes macros estão disponíveis para especificar o modelo de threading de um projeto ATL:

Macro Diretrizes a serem utilizadas
_ATL_SINGLE_THREADED Defina se todos os objetos usam o modelo de threading único.
_ATL_APARTMENT_THREADED Defina se um ou mais objetos usam Apartment Threading.
_ATL_FREE_THREADED Defina se um ou mais objetos usam Neutral ou Free Threading. O código existente pode conter referências à macro equivalente _ATL_MULTI_THREADED.

Se você não definir nenhuma dessas macros para o projeto, _ATL_FREE_THREADED estará em vigor.

As macros afetam o desempenho em tempo de execução da seguinte maneira:

  • Especificar a macro que corresponde aos objetos no projeto pode melhorar o desempenho em tempo de execução.

  • Especificar um nível mais alto de macro, por exemplo, se especificar _ATL_APARTMENT_THREADED quando todos os objetos forem single-threaded, degradará ligeiramente o desempenho em tempo de execução.

  • Especificar um nível inferior de macro, por exemplo, se especificar _ATL_SINGLE_THREADED quando um ou mais objetos usarem Apartment Threading ou Free Threading, poderá causar falha em tempo de execução no aplicativo.

Consulte Opções, Assistente de Objeto Simples de ATL para obter uma descrição dos modelos de threading disponíveis para um objeto de ATL.

Confira também

Conceitos