Udostępnij za pośrednictwem


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.

 

uzyskiwanie dostępu do interfejsów w apartamentach

wybieranie modelu wątkowego

wielowątkowe apartamenty

problemy z wątkami serwera In-Process

procesy, wątki i apartamenty

Single-Threaded Apartamenty