Auswählen des Threadingmodells
Die Auswahl des Threadingmodells für ein Objekt hängt von der Funktion des Objekts ab. Ein Objekt, das umfangreiche E/A-Vorgänge ausführt, kann Freethreading unterstützen, um maximale Reaktionen auf Clients zu ermöglichen, indem Schnittstellenaufrufe während der E/A-Latenz zugelassen werden. Andererseits kann ein Objekt, das mit dem Benutzer interagiert, apartmentthreading unterstützen, um eingehende COM-Aufrufe mit seinen Fenstervorgängen zu synchronisieren.
Es ist einfacher, Apartmentthreading in Singlethread-Apartments zu unterstützen, da COM die Synchronisierung pro Aufruf bereitstellt. Die Unterstützung von Freethreading ist schwieriger, da das Objekt die Synchronisierung implementieren muss. die Reaktion auf Clients kann jedoch besser sein, da die Synchronisierung für kleinere Codeabschnitte implementiert werden kann.
Zugehörige Themen