Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
COM+ threading modellen zijn ontworpen rond een objectverzameling genaamd een appartement. Een appartement is een verzameling contexten in een proces, zoals wordt weergegeven in de volgende afbeelding.
Oproepen binnen een appartement zijn direct, terwijl gesprekken tussen appartementen (out-of-process) indirect zijn en proxy- en stubcode vereisen. Het appartementsmodel biedt objecten met verschillende synchronisatie- en herinvoeringseigenschappen en heeft twee categorieën: single-threaded en multithreaded. Objecten in een appartement met één thread (STA) worden uitgevoerd op de specifieke thread waarin ze zijn gemaakt. Met STA's kan slechts één methode tegelijk worden uitgevoerd. Ze zijn ontworpen voor gebruikersinterfaces en zijn afhankelijk van de Berichtenwachtrij van Microsoft Windows om binnenkomende oproepen te verwerken.
Objecten in een multithreaded apartment (MTA) worden uitgevoerd op elke thread en staan toe dat er tegelijkertijd een willekeurig aantal methoden plaatsvindt. MTA's ondersteunen impliciet toetreding.
COM+-klassen zijn gemarkeerd met een ThreadingModel eigenschap waarmee COM+ het object in het juiste appartement kan maken. Om te bepalen in welk appartement een object wordt gemaakt, gebruikt CoCreateInstance de eigenschap ThreadingModel.
Threads moeten CoInitializeEx aanroepen voordat ze COM+kunnen gebruiken. Dit creëert hen in het juiste appartement en de juiste context. Het hoofdthread appartement wordt bepaald als de eerste STA genoemd door CoInitializeEx. Dit is meestal gekoppeld aan de hoofdthread van een proces. CoInitializeEx geeft het type appartement aan dat door de draad is vereist door de volgende vlaggen in te stellen:
- COINIT_MULTITHREADED— Localiseert de thread in een enkelvoudige multithreaded omgeving.
- COINIT_APARTMENTTHREADED: plaatst de thread in een nieuwe STA.
De volgende onderwerpen in deze sectie bevatten meer informatie over het gebruik van threadingmodellen en appartementen in COM+:
Verwante onderwerpen