🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 协程(Coroutine) ### 基本概念 #### 什么是协程:字面意思是各个子任务协作运行,被创造出来解决异步问题 * 协作程序,解决异步问题 * 应用层完成调度(线程调度是抢占式的,而协程是协同工作,非抢占式的) * 支持协程的语言(Lua、C#) #### 协程要解决什么问题 协程通过一段类似于同步的代码来写出一个异步的功能 * 异步代码像同步代码一样直观 * 简化异步代码异常处理 * 轻量级的并发方案 #### 如何支持协程 * 编译器对suspend函数的编译支持 (如果一个函数被声明为suspend表明可能被挂起,这个suspend函数在编译的时候,编译器会对它做一些特殊的处理) * 标准库的基本API支持 * kotlinx.coroutine应用级支持(更多关注在应用级) ### 本章目标 * 掌握协程标准库API的使用方法 * 了解协程的运行原理 * 了解kotlinx.coroutine框架