komunikacja Single-Threaded i wielowątkowa
Klient lub serwer, który obsługuje zarówno jednowątkowy, jak i wielowątkowy apartament będzie miał jedno wielowątkowe mieszkanie, zawierające wszystkie wątki zainicjowane jako wolne wątki i co najmniej jednowątkowy apartament. Wskaźniki interfejsu muszą być marshalowane między mieszkaniami, ale mogą być używane bez marshalingu w mieszkaniu. Wywołania obiektów w jednym wątkowym mieszkaniu będą synchronizowane przez com. Wywołania obiektów w wielowątkowym mieszkaniu nie będą synchronizowane przez com.
Wszystkie informacje o mieszkaniach jednowątkowych dotyczą wątków oznaczonych jako model apartamentowy, a wszystkie informacje na temat wielowątków mają zastosowanie do wszystkich wątków oznaczonych jako wolne wątki. Reguły wątkowość apartamentów mają zastosowanie do komunikacji między apartamentami, wymagając, aby wskaźniki interfejsu być marshalowane między mieszkaniami z wywołaniami do CoMarshalInterfaceInStream i CoGetInterfaceAndReleaseStream, zgodnie z opisem w Single-Threaded Apartments.
Nuta
Niektóre specjalne zagadnienia mają zastosowanie podczas pracy z serwerami przetwarzania. Aby uzyskać więcej informacji, zobacz In-Process Server Threading Issues.
Tematy pokrewne
-
problemy z wątkami serwera In-Process