问题标签 [cancellation-token]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
23840 浏览

c# - TaskFactory.StartNew() 中的“cancellationToken”是做什么用的?

http://msdn.microsoft.com/en-us/library/dd988458.aspx

更新

那么,让我们讨论这篇文章吧:http: //msdn.microsoft.com/en-us/library/dd997396.aspx

我稍微更改了该代码:

UPD:嗯,这只是改变task.IsCanceled,恕我直言没用,因为我仍然应该手动实现。

0 投票
4 回答
56665 浏览

c# - 任务构造函数中的取消标记:为什么?

某些System.Threading.Tasks.Task构造函数将 aCancellationToken作为参数:

令我感到困惑的是,无法从方法主体内部实际获取传入的令牌(例如,没有类似的Task.CurrentTask.CancellationToken)。令牌必须通过其他机制提供,例如状态对象或在 lambda 中捕获。

那么在构造函数中提供取消令牌的目的是什么?

0 投票
1 回答
2211 浏览

.net - CancellationToken.CanBeCanceled 什么时候可以为假?

上的文档CancellationToken.CanBeCanceled描述了它的作用,但没有提到它何时可能是错误的。因此,我不完全清楚什么时候应该注意这个属性。

在什么情况下它可能是假的,我应该在什么时候看它?

0 投票
1 回答
2406 浏览

.net - 注册 CancellationToken.None 是否安全?

为什么以下甚至是合法的?

例如,为什么Register不在这里抛出异常?是因为以上内容相当于NOP吗?

背景:问这个问题的原因是要了解在涉及注册时是否需要对接受 a 的方法CancellationToken进行防御性编码CancellationToken.None

0 投票
1 回答
8747 浏览

c# - CancellationToken 取消不脱离 BlockingCollection

我有一个像这样的取消令牌

我有一个像这样的阻塞集合

当我打电话

Take 不会像它应该的那样继续。如果我将 TryTake 与投票一起使用,则令牌显示它被设置为已取消。

0 投票
2 回答
2907 浏览

.net-4.0 - parallel.invoke 取消令牌

使用 Parallel.Invoke 时,您可以传入包含 cancelationToken 的 ParallelOptions。是否可以在调用中使用该令牌来确定是否应该退出?是否应该在操作中使用对 CancellationTokenSource 的引用?

更新:取消发生得太晚了。我是在调用的方法之外做的。

注意:如果取消发生得很快,Parallel.Invoke 将抛出,否则 inoked 方法将退出而不会失败。

0 投票
2 回答
8160 浏览

c# - c# 锁定并监听 CancellationToken

我想使用锁或类似的同步来保护关键部分。同时我想听一个CancellationToken。

现在我正在使用这样的互斥锁,但互斥锁没有那么好的性能。我可以使用任何其他同步类(包括新的 .Net 4.0)来代替互斥锁吗?

0 投票
3 回答
36313 浏览

c# - 如何正确重置 CancellationToken?

今天早上我一直在玩,Async CTP并且有一个带有 abutton和 a的简单程序label。单击button它开始更新label,停止button它停止写入label. 但是,我不确定如何重置,CancellationTokenSource以便我可以重新启动该过程。

我的代码:

0 投票
0 回答
1019 浏览

c# - 在当前布局中对任务和取消令牌调用 Dispose()

我有以下代码,我试图弄清楚是否可以在任务和取消令牌上显式调用 dispose。我读过微软建议在任务上调用 dispose() ,除非你必须做一些奇怪的事情才能调用它。我也很欣赏可能有更好的方法来做到这一点,但我很想知道它是否适用于当前的设置。

第一种方法允许 GUI 线程返回并继续更新 UI。第二种方法检索存储过程列表。

谢谢你的时间。

0 投票
1 回答
21245 浏览

c# - 将 CancellationToken 传递给 Task Class 构造函数有什么用?

这是一个示例代码,它创建一个模拟长时间运行的进程的新任务。任务本身并没有太多内容,只关注取消功能。我正在使用取消令牌来取消任务,并且代码对我来说很好。

但我无法理解的一件事CTS.Token是传递给Task构造函数的令牌参数 ()。传递参数的实际用途是什么,即使没有将令牌传递给构造函数,我也可以实际取消任务。

下面是一个稍微修改过的版本,它在没有 token 参数的情况下工作。