gpt4 book ai didi

c# - SynchronizationContext 和 InvokeRequired

转载 作者:太空狗 更新时间:2023-10-29 23:41:45 25 4
gpt4 key购买 nike

我一直在寻找这个问题的答案,但似乎找不到满意的答案。也许这里有人可以启发我。

我有一个 BindingList<T> 的后代存储对 SynchronizationContext 的引用对象以便在 UI 线程上引发其更改的事件。

现在,这个 BindingList<T> 也有可能是在 UI 线程上创建和使用的,而不是后台线程。如果没有 InvokeRequired 这样的属性,我该如何检查呢?我可以使用吗?调用SynchronizationContext.Send的后果是什么?在 UI 线程上?

最佳答案

SynchronizationContext 上的 Send 方法将同步执行并在 SynchronizationContext 绑定(bind)到的线程上调用委托(delegate)。如果 SynchronizationContext 绑定(bind)到 UI 线程,并且代码当前正在 UI 线程上执行,那么将直接调用委托(delegate),无需在线程之间编码。

关于c# - SynchronizationContext 和 InvokeRequired,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5465736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com