Specifica di un modello di threading per un progetto (ATL)

Per specificare il modello di threading di un progetto ATL sono disponibili le macro seguenti:

Macro Linee guida per l'uso
_ATL_SINGLE_THREADED Definire se tutti gli oggetti usano il modello a threading singolo.
_ATL_APARTMENT_THREADED Definire se uno o più oggetti usano il threading apartment.
_ATL_FREE_THREADED Definire se uno o più oggetti usano threading libero o neutro. Il codice esistente può contenere riferimenti alla macro equivalente _ATL_MULTI_THREADED.

Se non si definisce alcuna di queste macro per il progetto, _ATL_FREE_THREADED sarà attiva.

Le macro influiscono sulle prestazioni di runtime come indicato di seguito:

  • Specificare la macro che corrisponde agli oggetti del progetto può migliorare le prestazioni di runtime.

  • Se si specifica un livello superiore di macro, ad esempio se si specifica _ATL_APARTMENT_THREADED quando tutti gli oggetti sono a thread singolo, le prestazioni di runtime risulteranno leggermente ridotte.

  • Se ad esempio si specifica un livello inferiore di macro, se si specifica _ATL_SINGLE_THREADED quando uno o più oggetti usano il threading apartment o il threading libero, l'applicazione potrebbe non riuscire in fase di esecuzione.

Per una descrizione dei modelli di threading disponibili per un oggetto ATL, vedere Opzioni, Creazione guidata oggetti semplici ATL.

Vedi anche

Concetti