Apartment是一個同步的分界;它是一個想像中的盒子,畫在物件的四周,而分隔COM客戶端和COM物件的客戶端執行緒。如果您沒有告訴COM一個物件是與執行緒相容,COM就不允許在同一時間內,有超過一個對物件的呼叫。然而,告訴COM物件是與執行緒相容的,它就會允許接受多個執行緒同步方法呼叫。
Windows NT 4.0支援兩種不同類型的apartment;Windows 2000支援三種apartment類型:
(1)單一執行緒apartments,稱為STAs(Windows NT 4.0或Windows 2000)
(2)多重執行緒apartments,稱為MTAs(Windows NT 4.0或WIndows 2000)
(3)中性執行緒apartments,稱為NTAs(只有Windows 2000)
MTAs跟STAs有什麼不同?除了一個MTA限制一個行程,以及一個MTA可以處理任何數目的執行緒之外,MTA沒有隱藏的視窗,也沒有訊息佇列。進入在MTA中物件的呼叫,被傳送到從RPC執行緒集區隨機選出的執行緒,缺乏保證MTA為基礎的物件一次只會收到一個呼叫的外部同步機制,物件很可能會看到呼叫在不同的RPC執行續同步執行