gpt4 book ai didi

c# - 具有多个 GUI 线程的 mdi 应用程序

转载 作者:行者123 更新时间:2023-11-30 17:25:05 25 4
gpt4 key购买 nike

C# MDI 应用程序可以为 MDI 中的每个子项使用单独的 GUI 线程吗?

例如,如果其中一个子窗体被某个同步请求阻塞,它会卡住整个容器(MDI Parent)并且其他打开的窗口也变得不可访问。

一般来说,在 .net windows 窗体应用程序域中是否可以有多个 GUI 线程?

在 visual studio 中,默认的 winform 应用程序具有 STA(单线程单元)设置。理论上我理解 MTA 在这里的意思,但它的实际用途是什么。

在我的用例中,各个 mdi 子项是由不同的团队开发的,他们可能不会以异步方式延迟阻塞调用,所以我只是想知道是否可以有多个 UI 线程,尽管这是不可取的——我完全同意。

编辑#1:

I can think of google chrome browser as an example where individual tab is a separate process probably with a dedicated GUI thread ? Is something like this possible in a dot.net app.

最佳答案

与其试图强制多个线程进入 GUI 层,不如让 GUI 层将其所有工作推迟到后台线程。这样,如果某些后台线程变得无响应,则整个 GUI(包括反射(reflect)无响应后台线程的 MDI 子级)都会有响应。

关于c# - 具有多个 GUI 线程的 mdi 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/223340/

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