專家一個說法,我曾經使用象Task.Factory.StartNew(new Action(()=>{}), cancellationToken);
關於產品在使用任務
的方法我有關於第二個參數cancellationToken
問題。因爲cancellationToken
是我方法中的一個變量,所以在lambda表達式中,我可以像使用msdn一樣使用該字段來取消我的任務;我不確定這是推薦。在這種情況下,這裏需要第二個參數嗎?它在StartNew方法中傳遞,但沒有實際使用。我們需要使用這個參數嗎?
我只是認爲我們可以調用token.ThrowIfCancellationRequested()與我的變量,我們不使用它在lambda作爲參數。請不要誤解我的意思;如果我聲明瞭一個cancellationToken變量,並且不會將它傳遞給StartNew方法,我仍然可以使用這個變量來取消我的任務,對嗎? 感謝您的回覆。 – Howard 2011-04-12 03:29:03
嗨Ade,我猜Howard的意思是這樣的:如果我想取消任務,我可以在我的lambda表達式中使用cancellationToken,因爲在整個方法中可以看到cancellationToken。現在爲什麼我必須將它傳遞給StartNew? StartNew方法是否以某種方式在內部使用該令牌? – CuiPengFei 2011-04-12 03:33:26
已經更新的答案。 – 2011-04-12 03:40:50