Choix du modèle de thread

Le choix du modèle de thread pour un objet dépend de la fonction de l’objet. Un objet qui effectue des E/S étendues peut prendre en charge le thread libre pour fournir une réponse maximale aux clients en autorisant les appels d’interface pendant la latence d’E/S. En revanche, un objet qui interagit avec l’utilisateur peut prendre en charge le thread d’appartement pour synchroniser les appels COM entrants avec ses opérations de fenêtre.

Il est plus facile de prendre en charge le thread d’appartement dans les appartements à thread unique, car COM assure la synchronisation par appel. La prise en charge du thread libre est plus difficile, car l’objet doit implémenter la synchronisation ; Toutefois, la réponse aux clients peut être meilleure, car la synchronisation peut être implémentée pour des sections de code plus petites.

Accès aux interfaces entre les appartements

Appartements multithread

Problèmes de thread de serveur in-process

Processus, threads et appartements

Communication monothread et multithread

Appartements monothreads