我可以獲得CancellationToken
,它在執行任務操作期間傳遞給Task
構造函數。大多數樣品的這個樣子:獲取任務CancellationToken
CancellationTokenSource cts = new CancellationTokenSource();
CancellationToken token = cts.Token;
Task myTask = Task.Factory.StartNew(() =>
{
for (...)
{
token.ThrowIfCancellationRequested();
// Body of for loop.
}
}, token);
但是,如果我的行爲是不是拉姆達但放在其他類中的方法,我沒有token
直接訪問?唯一的辦法是通過token
作爲狀態?
你也需要的,如果你想通過它傳遞給子任務的任務,這是需要做一個平常的事內開始。我希望'Task'暴露了給定的CancellationToken。 – Servy 2013-03-15 18:07:17