Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个使用 MS ATL 库编写的 ActiveX 控件,我正在通过pDispatch->Invoke(..., DISPATCH_METHOD). 该控件将由 .NET 客户端使用,我的问题是 - 事件的触发是同步调用还是异步调用?我担心的是,如果是同步的,处理事件的应用程序可能会导致性能问题,除非它立即返回。
pDispatch->Invoke(..., DISPATCH_METHOD)
从生成事件的组件的角度来看,它是同步的。控件的执行线程将调用接收者代码,此时事情超出了它的控制。
接收事件的客户必须确保他们迅速返回。如果他们需要做大量的工作,那么他们应该异步安排。例如,通过发布 Windows 消息或使用单独的线程。