gpt4 book ai didi

c# - 在等待 WaitHandle 时运行消息循环

转载 作者:行者123 更新时间:2023-11-30 13:35:09 24 4
gpt4 key购买 nike

有什么方法可以在 UI 线程等待 WaitHandle 或其他线程原语时处理所有 Windows 消息?

我意识到它可能会产生非常困惑的重入问题;无论如何我都想做。

编辑:WAITING发生在必须在 UI 线程上运行的复杂函数的中间。因此,将等待转移到后台线程不是一种选择。 (将功能一分为二会造成复杂且无法维护的困惑)

最佳答案

我会在单独的后台线程中运行整个“不能拆分的复杂函数”,并让它仅在需要时向 GUI 报告(使用 Invoke/BeginInvoke 方法一个控件)。

在更增强的版本中,您应该在不依赖于 UI 且更易于单元测试的非 UI Controller 中运行您的复杂功能。回调 UI 并在 UI 中显示结果,可以通过让 UI 订阅 Controller 提供的事件来轻松实现。

关于c# - 在等待 WaitHandle 时运行消息循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/946746/

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