Types de threads du distributeur de ressources COM+
Les appels à un distributeur de ressources COM+ peuvent provenir de l’un des types de threads suivants :
- Thread d’appartement (STA)
- Thread libre (MTA)
- Thread non COM (application ou thread du récupérateur de mémoire du gestionnaire du distributeur )
Si un distributeur de ressources n’est pas un objet COM, il doit être en mesure de gérer les appels provenant de n’importe quel thread à tout moment. Si un distributeur de ressources est un objet COM, l’objet COM doit être inscrit avec un modèle de thread de both. Cela permet aux threads STA ou MTA de créer et d’utiliser le distributeur de ressources sans commutateur de thread.
Si un distributeur de ressources crée et utilise un autre objet COM (par exemple, un gestionnaire de ressources hors processus), le distributeur de ressources peut avoir besoin de gérer plusieurs proxys vers cet autre objet COM et de s’assurer que les appels à l’objet sont effectués à l’aide du proxy approprié pour le thread appelant. Lorsque le distributeur de ressources crée cet objet, il marshale et enregistre la référence. Avant d’appeler à nouveau l’objet, il doit se démarshaler pour créer un proxy pour le thread appelant.
Il peut être plus efficace de mettre en cache ces proxys par thread en conservant un mappage entre l’ID de thread et un pointeur proxy. Cette carte se développe à mesure que de nouveaux threads sont utilisés dans le processus.
Rubriques connexes