Scelta del modello di threading
La scelta del modello di threading per un oggetto dipende dalla funzione dell'oggetto. Un oggetto che esegue operazioni di I/O estese potrebbe supportare il threading libero per fornire la massima risposta ai client consentendo chiamate di interfaccia durante la latenza di I/O. D'altra parte, un oggetto che interagisce con l'utente potrebbe supportare il threading apartment per sincronizzare le chiamate COM in ingresso con le relative operazioni di finestra.
È più facile supportare il threading di apartment in appartamenti a thread singolo perché COM fornisce la sincronizzazione per ogni chiamata. Il supporto del threading libero è più difficile perché l'oggetto deve implementare la sincronizzazione; Tuttavia, la risposta ai client può essere migliore perché la sincronizzazione può essere implementata per sezioni di codice più piccole.
Argomenti correlati