这是代码:
//statement 1
auto task1 = ref new WorkItemHandler([&](IAsyncAction^ task2)
{
//statement 2
if (task2->Status == AsyncStatus::Canceled)
{
//statement 3
}
Dispatcher->RunAsync(CoreDispatcherPriority::High, //statement A
ref new DispatchedHandler(
[=]()
{
//statement 4
}));
}
);
//statement 5
IAsyncAction ^ thread = Windows::System::Threading::ThreadPool::RunAsync(task2); //statement B
//statement 6
我想知道这个线程的工作。
标记为 1-6 的语句以什么顺序和何时执行?
而在 lambda 表达式中,task2 参数从哪里接收值(上面的语句 2)?
标记为 A 和 B 的语句是做什么的?它们之间有什么区别?