什么时候在UI线程上执行PPL任务?

时间:2015-05-09 00:29:42

标签: c++ windows-runtime windows-store-apps winrt-async

调用create_task时是否有办法确保任务不在UI线程上运行?

我想确保我不会无意中在某个以某种方式设法在UI线程上执行的任务中调用wait。

1 个答案:

答案 0 :(得分:2)

create_task函数不会自发地跳转到UI线程:如果你不从UI线程调用它,它就不会在那里执行。您需要显式调用Dispatcher才能返回。

如果没有提供task_continuation_context来告知它,则默认情况下,公寓感知任务(返回IAsyncAction或IAsyncOperation的任务)将在其公寓中继续。在UI线程上启动任务的常见情况将在UI线程上继续。

有关详细信息,请参阅MSDN的Asynchronous programming in C++文档的管理线程上下文部分。