手记

【九月打卡】第3天 一课掌握Kotlin 突破开发语言瓶颈

课程信息

课程内容

协程是什么

  • 协程是可以由程序自行控制挂起、恢复的程序
  • 协程可以用来实现多任务的协作执行
  • 协程可以用来解决异步任务控制流的灵活转移

协程的作用

  • 协程可以让异步代码同步化
  • 协程可以降低异步程序的设计复杂度

协程的异步机制


黄色为主调用流程,当主流程走到绿色代码时,绿色代码为异步执行流程,协程会切到线程3执行异步代码,当线程3的代码执行完,再切回来执行主流程的代码。
从异步代码切回来不一定就能切回到原来的线程1去执行,可能会跑到其他线程上继续执行,如果要实现切回到线程1的效果,需要依赖调度器。

线程 vs 协程

线程Thread,指操作系统的线程,也成为内核线程
协程Coroutine,指语言实现的协程,运行在内核线程之上

Kotlin协程

Kotlin对协程的支持分两个级别,分别是语言级别的支持框架级别的支持

语言级别的支持

  • Kotlin标准库
  • 协程上下文
  • 拦截器
  • 挂起函数

框架级别的支持

  • 官方协程框架
  • Job
  • 调度器
  • 作用域

学习总结

通过本章节的学习,了解到了协程的基本概念,异步机制,和它能给我们编程带来什么好处。
引用Beny老师课堂上的两句话:
协程并不能让我们的代码异步,但是它能令我们的异步代码更简单。
协程并没有什么黑魔法,它的黑魔法主要在于控制我们代码的流程。

0人推荐
随时随地看视频
慕课网APP