在创建新的 STA 线程来承载 STA COM 组件时,该线程负责泵送与 COM 相关的 Windows 消息。据我所知,某些内置的 .NET 线程原语,例如 lock (Monitor.Enter) 会在等待对象被另一个线程释放时为您执行此操作。我见过的另一种为您制作 .NET 泵 COM 消息的方法是使用 .Join()。
在哪里可以找到具有这种行为的内置线程原语的完整列表?等待 WaitHandle 会支持这个吗?WaitAny() 或 .NET 4 中的新并发集合怎么样?我无法在任何特定方法的文档中找到它。