为什么你说 COM STA 线程必须泵送消息,而我看到的示例代码创建了 STA 线程却没有泵送消息?
本文解释了 COM STA(单线程单元)线程看似不需要泵送消息的现象。关键在于:你需要在空闲时泵送消息,但采样代码可能从未处于空闲状态——它可能只是快速创建线程并直接退出,或者立即调用了 CoUninitialize。真正的 STA 线程在等待调用返回、处理跨单元通信或执行其他 COM 操作时,必须泵送消息以避免死锁和确保正常通信。
本文解释了 COM STA(单线程单元)线程看似不需要泵送消息的现象。关键在于:你需要在空闲时泵送消息,但采样代码可能从未处于空闲状态——它可能只是快速创建线程并直接退出,或者立即调用了 CoUninitialize。真正的 STA 线程在等待调用返回、处理跨单元通信或执行其他 COM 操作时,必须泵送消息以避免死锁和确保正常通信。