type
status
date
slug
summary
tags
category
icon
password
Property
Aug 9, 2024 11:59 AM
异步编程和Continuation
Task非常适合异步编程,因为他们支持Continuation(他对异步非常重要)
第16讲里面TaskContinuationSource的例子
TaskContinuationSource是底层实现IO-bound异步方法的一种标准方式
对于Compute-bound方法,Task.Run会初始化绑定线程的并发
把task返回调用者,创建异步方法
异步编程的区别:目标是在调用图较低的位置来这样做
富客户端应用中,高级方法可以保留在UI线程和访问控制以及共享状态上,不会出现线程安全问题
同步写法
有问题的版本
语言对异步的支持非常重要
需要对task 的执行序列化
例如Task B依赖于Task A的执行结果
为此,必须在continuation内部触发下一次循环
async 和await
对于不想负责的实现异步非常重要
命令式循环结构不要和continuation混合在一起,因为他们依赖于本地状态
另一种实现,函数式写法(Linq查询),他也是响应式编程(Rx)的基础
- 作者:Kitety
- 链接:https://www.kitety.com/article/c-sharp-async-continuation
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章