當創建一個新的STA線程來託管STA COM組件時,該線程有責任抽取與COM相關的Windows消息。從我已經能夠收集的內容來看,某些內置的.NET線程原語(例如lock(Monitor.Enter))會在等待該對象被另一個線程釋放時爲您執行此操作。爲我所見的.NET泵COM消息的另一種方法是使用.Join()。哪些阻止.NET中的線程操作將在阻塞時處理COM消息?
我在哪裏可以找到具有此行爲的內置線程原語的完整列表?等待WaitHandle支持這個嗎?那麼WaitAny()或.NET 4中的新併發集合呢?我無法在文檔中找到任何特定方法。
非常有幫助,謝謝! – SoftMemes 2010-10-11 16:15:22