[英]how cancellation token stop continue with?
我有一個帶有此代碼的線程:
foreach (string file in allDirectoriesFiles)
{
if (cancellationToken.IsCancellationRequested)
{
return;
}
// ... some operation...
}
// ... some operation 2...
注意我使用return
而不是break
,因為如果我停止線程,則不能執行some operation 2
。
我也注意到,以這種方式.ContinueWith它沒有被執行。
好吧,但那只是一個“回歸”功能。 由於tokenSource.Cancel()
而不是通常的返回,C#如何知道我正在返回?
您不應該使用相同的取消令牌創建延續,否則即使在執行之前,也會取消延續。 如果您始終希望執行取消,則使用不同的取消令牌(來自不同的取消源)創建延續,或者只是在沒有取消令牌的情況下創建它。
CancellationToken旨在立即將取消傳播到整個動作集。 取消()它的源后,將不會調用其他延續。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.