168得票4回答
如何在不抛出/捕获异常的情况下使用CancellationToken?

与之前的代码for class RulyCanceler相比,我想使用CancellationTokenSource来运行代码。 如何像Cancellation Tokens中所述那样使用它,即不抛出/捕获异常?我可以使用IsCancellationRequested属性吗? 我尝试像这样...

12得票2回答
如何通过 CancellationToken 停止异步进程?

我发现了一个可以在不冻结用户界面的情况下执行某些操作的代码。这段代码将在“开始工作”按钮被按下时执行。我认为用户会通过“停止”按钮停止此工作。所以我在MSDN上找到了这篇文章:https://msdn.microsoft.com/en-us/library/jj155759.aspx。但是,在...

24得票3回答
上下文不带取消传播

如何创建一个Go上下文的副本(或者说是克隆),包含原始上下文中存储的所有值,但不会在原始上下文取消时被取消? 我认为这确实是一个有效的用例。假设我有一个HTTP请求,当响应返回给客户端后,其上下文被取消,而我需要在此请求结束时在单独的goroutine中运行异步任务,该任务很可能比父上下文的...

13得票2回答
通过默认的iPhone耳机实现主动降噪

我们希望创建一个App,利用默认的iPhone耳机实现主动降噪。也就是使用iPhone耳机麦克风接收外部音频,并进行180度相位移。最后通过默认耳机扬声器播放反向声音来抵消外部声音(主动降噪)。 参考文献:http://electronics.howstuffworks.com/gadget...

17得票2回答
将CancellationToken作为参数传递给Task.Run的好处是什么?

显然,我意识到这使我能够取消任务,但是这段代码实现了相同的效果,而不必将令牌传递到Task.Run中。 实际上有什么区别?谢谢。Dim cts As New CancellationTokenSource Dim ct As CancellationToken = cts.Token Tas...

15得票2回答
检查 Java Timer 是否已被取消

为什么java.util.Timer对象没有isCancelled方法? 如果计时器未被取消,我想安排一个任务并直接在同一线程上运行它,如果已被取消,则不运行。 难道唯一的选择是捕获可能发生的IllegalStateException(如果计时器已经被取消)吗?(捕获IllegalStat...

8得票1回答
在ASP.NET MVC中通过CancellationToken取消AJAX请求

我有一个与外部资源交互的ASP.NET MVC应用程序,其中有一项操作需要很长时间。所以在控制器中,我有以下这个方法: [HttpPost] public async Task<JsonResult> SomeMethod(..., CancellationToken token...

18得票1回答
在TPL中中止一个长时间运行的任务

我们的应用程序使用TPL来序列化(可能)长时间运行的工作单元。工作(任务)的创建是由用户驱动的,可以随时取消。为了拥有响应灵敏的用户界面,如果当前的工作不再需要,我们希望放弃正在进行的工作,并立即开始执行另一个任务。 任务排队类似于这样: private Task workQueue; p...

10得票5回答
如何取消一个可观测序列

我有一个非常简单的 IObservable<int>,它作为一个脉冲发生器每500毫秒发出一个脉冲:var pulses = Observable.GenerateWithTime(0, i => true, i => i + 1, i => i, ...

13得票1回答
F#中的Async<'T>取消是如何工作的?

我对在C#中使用TPL进行异步取消操作非常熟悉,但是我对在F#中的操作有点困惑。显然,通过调用Async.CancelDefaultToken()就足以取消当前的 Async&lt;'T&gt; 操作。但是它们并没有被按照我的预期取消,它们只是...消失了...我无法正确地检测到取消并适当地拆...