WaitForMultipleObjects是否会在创建STA COM对象的线程中导致问题?

时间:2010-10-15 09:12:49

标签: c++ winapi com message-queue

我有一个创建使用STA模型的COM对象的线程。

这个线程的Run函数将它放在一个无限的WaitForMultipleObjects中。

无限的WaitForMultipleObjects是否有可能阻止其他线程封送对该线程拥有的COM对象的调用?

基本上,我问的是WaitForMultipleObjects是否会阻止隐藏的COM消息队列被抽出。

1 个答案:

答案 0 :(得分:3)

是的,可能存在问题 - 请参阅this KB article。基本上,如果你的线程是一个STA线程,它不应该调用可以长时间阻塞的函数,因为当线程被阻塞时它不会抽取和发送消息,这可能会阻止正确的编组功能。