中性公寓

COM+ 引入了中性单元,以简化多线程环境中的编程。 中性单元是 COM+ 的首选模型,对于没有用户界面的组件。

过去,为了防止瓶颈,需要服务器可伸缩性的 COM+ 开发人员必须实现自由线程组件;但是,自由线程模型很难实现,因为它们必须处理互锁访问。 在中性单元中,对象遵循多线程单元的准则,但可以在任何类型的线程上执行。 当线程在中性单元中运行时,将接收对象的上下文,而不会造成线程切换。

每个进程只能有一个中性公寓。 若要选择非特定单元,请使用以下注册表设置:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
   {CLSID}
      InprocServer32
         ThreadingModel = Neutral

具有用户界面的组件应继续使用单线程单元作为首选模型。 若要选择单线程单元,请使用以下注册表设置:

ThreadingModel = 单元