我理解需要使用Invoke / BeginInvoke从工作线程调用函数或过程来调用属于UI线程的组件...
我的问题是 - 有没有理由去检查InvokeRequired?假设可以在不同情况下从工作线程或UI线程调用事件处理程序。让UI线程调用Invoke对它本身最终会执行的方法有什么影响吗?
说...
Private Sub SomeProcedure() Handles event1, event2, event3
Me.Invoke(New delegateSomeProc(Address of SomeProc))
EndSub
现在,假设事件1从UI线程触发,但事件2和/或3从其他线程触发......对于事件1调用调用是否有任何危险,即使它没有必要?它只是有点低效吗?
答案 0 :(得分:2)
让UI线程调用Invoke对它本身最终会执行的方法有什么影响吗?
不,除了可能的性能之外没有任何后果,如果不需要调用,直接方法调用将比通过Invoke基础结构更快。
答案 1 :(得分:2)