mrs*_*ent 1 c# task task-parallel-library cancellation
我有一些代码要运行,直到我请求取消为止。
Task.Run(() =>
{
while (!token.IsCancellationRequested)
{
GetFeedbackTask();
}
}, token);
Run Code Online (Sandbox Code Playgroud)
然后我执行这个方法token.Cancel()。这将按预期取消任务,按预期取消我的 while 循环。问题是当我在取消token.IsCancellationRequested属性后再次尝试运行 Task 时true。是什么设置了属性false?我需要Dispose令牌吗?
您永远无法将 aCancellationToken从取消状态设置回非取消状态。
同样,Task您为工作而创建的 将结束;一旦令牌被取消,它不会只是坐在那里等待。该while循环会已经结束,并且没有更多的代码的任务将完成。
如果您想在取消后重新开始工作,请启动一个新的工作人员并创建一个新的取消令牌。
| 归档时间: |
|
| 查看次数: |
1811 次 |
| 最近记录: |