Escolhendo o modelo de threading

A escolha do modelo de threading para um objeto depende da função do objeto. Um objeto que faz E/S extensa pode oferecer suporte a threading livre para fornecer resposta máxima aos clientes, permitindo chamadas de interface durante a latência de E/S. Por outro lado, um objeto que interage com o usuário pode oferecer suporte a threading de apartamento para sincronizar chamadas COM de entrada com suas operações de janela.

É mais fácil oferecer suporte ao threading de apartamentos em apartamentos de thread único porque o COM fornece sincronização por chamada. O suporte a threading livre é mais difícil porque o objeto deve implementar a sincronização; no entanto, a resposta aos clientes pode ser melhor porque a sincronização pode ser implementada para seções menores do código.

Acessando interfaces entre apartamentos

Apartamentos Multithreaded

Problemas de threading do servidor em processo

Processos, threads e apartamentos

Comunicação Single-Threaded e Multithreaded

Apartamentos Single-Threaded