【发布时间】:2018-05-21 19:57:18
【问题描述】:
我有一个 UWP UI,它调用需要一段时间才能执行的本机代码。完成后,UI 需要更新。这是我的代码:
auto runOpti = create_task([this] { runOptimation(); });
runOpti.then([this]{postOptimation(); });
postOptimation 例程包括以下行:
backwordCheckBox->IsChecked = params->backwards;
像这样执行会在标题中出现错误。
如何让 postOptimation 在 UI 线程中运行?
谢谢
【问题讨论】:
-
这段代码显然已经在一个任务上运行,所以不需要 create_task 来创建另一个。注意调试器中的堆栈跟踪,看看它是如何到达那里的。小心这样的代码,你的用户很快就会厌倦看着草生长,开始玩纸牌游戏,你的优化不会完成。
标签: c++ multithreading uwp