gpt4 book ai didi

wpf - 对于 ICommand 和 DelegateCommand 它在哪个线程上运行?

转载 作者:行者123 更新时间:2023-12-04 14:06:43 24 4
gpt4 key购买 nike

我的应用程序使用 ICommand s 将方法绑定(bind)到按钮。

我将这些命令初始化如下:

AnswerCommand = new DelegateCommand(AnsCommandExecute, AnsCommandCanExecute);

我想知道 AnsCommandExecute()方法将在 UI 线程或后台线程上工作?

如果它在 UI 线程上工作,我是否必须为此 execute() 方法创建另一个线程,因为我的应用程序在后台执行大量处理。

此外,我的应用程序使用 TCP 与另一个应用程序进行通信。所以,为了获得更好的性能,我是否必须使用不同的线程来接收数据、处理和发送数据。
对于此类应用程序,最好的线程方法是什么?

最佳答案

查找是否AnsCommandExecute() 的最简单方法方法是否在主线程上工作是在方法中放置断点并检查调用堆栈。

快速回答是肯定的 - AnsCommandExecute()将在主线程上执行。

要满足您的线程需求,您可以调用 AnsCommandExecute() 中的内容在单独的线程上。这将使 UI 响应。

如果要异步接收响应,则必须借助“Dispatcher”将操作移回主线程。更多信息请访问 Dispatcher documentation .

关于wpf - 对于 ICommand 和 DelegateCommand 它在哪个线程上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12760483/

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