* Threading
* Callbacks
* Futures, promises, and others
* Reactive Extensions
* Coroutines
promises
和reactive extensions
Promise
Reactive Extensions(RX), Rxjava 把数据当成
observable streams
, 背后就是观察者模式, 做了很多扩展. 跟Futures很像, 但是是返回stream 很多平台支持, 更好的错误处理
kotlin 使用Coroutines, 思想是
suspendable computations
, 一个函数可以挂起, 等条件满足时再继承执行.
好处是编程模型没有改变, 与阻塞代码本质上一样. kotlin协程大多数功能都委托给库, 只引入
suspend
关键字, 不像c#提供async
和await