Нейтральные квартиры
COM+ представляет нейтральные квартиры для упрощения программирования в многопоточных средах. Нейтральные квартиры — это предпочтительная модель для COM+ для компонентов без пользовательского интерфейса.
В прошлом, чтобы предотвратить узкие места, разработчики COM+, требующие масштабируемости сервера, должны были реализовать компоненты с бесплатным потоком; однако модели свободного потока сложно реализовать, так как они должны работать с взаимоблокировкой доступа. В нейтральных квартирах объекты следуют рекомендациям для многопоточных квартир, но могут выполняться в любом виде потока. При выполнении потока в нейтральной квартире контекст объекта получается без вызова коммутатора потока.
Каждый процесс может иметь только одну нейтральную квартиру. Чтобы выбрать нейтральную квартиру, используйте следующий параметр реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
{CLSID}
InprocServer32
ThreadingModel = Neutral
Компоненты, имеющие пользовательские интерфейсы, должны продолжать использовать однопоточные квартиры в качестве предпочтительной модели. Чтобы выбрать однопотоковую квартиру, используйте следующий параметр реестра:
ThreadingModel = Apartment