我正在撰写关于F#异步工作流程的报告,我发现很多论文都讨论过异步编程模型和模式。在我的理解中,异步工作流只是异步编程的一部分,而异步模式是编写异步代码的工具。我想知道这些术语之间有更清晰的关系,我应该在报告中包含哪些内容(因为我只需要讨论async wkf)。谢谢!
答案 0 :(得分:3)
异步编程是不同步执行的通用术语,而asynchronous workflows in F#特别指的是async
计算表达式构建器和Async functions。换句话说,您的理解是正确的:F#异步工作流是实现异步程序的工具。
从专家F#一书中可以看出术语:
异步程序执行的请求不会立即完成,但会在以后执行,并且发出请求的程序必须在此期间执行有意义的工作。例如,大多数网络I / O(...)
关于F#Asyncs的报告可能需要简要介绍异步编程及其常见的困难,因为Asyncs解决的许多问题在典型的单线程编程中都不是问题。 (例如异常传播,内存模型,线程管理和阻塞,取消)