13.1 异步工作流
有许多地方需要使用异步操作。当我们使用磁盘、调用 web 服务,或者连接到数据库时,异步工作流可能有显著的性能优势。当应用程序执行异步操作时,很难预测什么时修操作将完成。如果不能正确处理异步操作,应用程序就会效率低下,甚至可能停止响应。
写出能够执行异步操作,而不会阻止调用线程的代码,避免出现问题是必要的,但是,使用当前的技术很难实现。在 F# 中,这极大地简化,是由于有了异步工作流(asynchronous workflows)。在讨论如何使用之前,我们先解释一下问题是什么。