コードは次のとおりです。
//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のラベルが付いたステートメントは、どのような順序でいつ実行されますか?
そしてラムダ式では、task2パラメーターはどこから値を受け取りますか(ステートメント2の上)?
AとBのラベルが付いたステートメントは何をしますか?それらの違いは何ですか?