异步CTP和超时

我开始观看Jon Skeet关于C#异步CTP的演示。 谈到指定超时时,他结结巴巴地说。

来自相当有限的F#暴露,有一种直观,集中和简单的方法来指定超时。 所以,我想知道当前的情况:C#异步CTP可以执行F#异步块runner所做的所有事情吗? 是否有文件概述了差异和限制?


其他细节:在F#中,异步块运行器提供了一种指定以下内容的方法:

  • 例外流程
  • 超时流程
  • 取消流程
  • 上述三项功能的可扩展性
  • 以下是在F#中执行这些操作的一种方法:参数顺序和管道右侧运算符


    我甚至不记得提到超时 - 但我会听你的话:)

    创建任务以实现超时很容易:创建一个“延迟”的第二个任务,然后等待该任务或原始任务完成。 无论哪个人首先到达那里,如果可行的话取消另一个人(带有取消标记)。 新创建的任务将完成主操作的结果(如果成功),或者如果“延迟”首先完成,则会执行异常。

    我没有看到AsyncCtpLibrary.dll中直接支持的任何内容,但是您可以使用提供的工具合理轻松地构建它。 您可能想查看“基于任务的异步模式概述”和“TPL数据流”文档以查看它们是否也覆盖了它。

    链接地址: http://www.djcxy.com/p/6715.html

    上一篇: Async CTP and timeouts

    下一篇: Detecting Chess moves from successive image differences using OpenCV tools