我有一个创建使用STA模型的COM对象的线程。
这个线程的Run函数将它放在一个无限的WaitForMultipleObjects中。
无限的WaitForMultipleObjects是否有可能阻止其他线程封送对该线程拥有的COM对象的调用?
基本上,我问的是WaitForMultipleObjects是否会阻止隐藏的COM消息队列被抽出。
答案 0 :(得分:3)
是的,可能存在问题 - 请参阅this KB article。基本上,如果你的线程是一个STA线程,它不应该调用可以长时间阻塞的函数,因为当线程被阻塞时它不会抽取和发送消息,这可能会阻止正确的编组功能。