字节前技术总监写给给初学者的Kotlin协程教程

什么是协程

先来看官方对 Kotlin 协程的介绍:

A coroutine is an instance of suspendable computation. It is conceptually similar to a thread, in the sense that it takes a block of code to run that works concurrently with the rest of the code. However, a coroutine is not bound to any particular thread. It may suspend its execution in one thread and resume in another one.
Coroutines can be thought of as light-weight threads, but there is a number of important differences that make their real-life usage very different from threads.
    翻译成中文的意思是:
一个协同程序是悬浮计算的一个实例。它在概念上类似于线程,从某种意义上说,它需要一个与其余代码同时运行的代码块来运行。但是,协程不受任何特定线程的约束。它可以在一个线程中暂停其执行并在另一个线程中恢复。
协程可以被认为是轻量级线程,但是有许多重要的区别使得它们在现实生活中的使用与线程大不相同。
    在我看来,协程是 Kotlin 对线程和 Handler 的 API 的一种封装,是一种优雅处理异步任务的解决方案,协程可以在不同的线程来回切换,这样就可以让代码通过编写的顺序来执行,并且不会阻塞当前线程,省去了在各种耗时操作写回调的情况。

怎么学呢?

第一章 Kotlin协程的基础介绍

    1.1 协程是什么 1.2 什么是Job 、Deferred 、协程作用域 1.3 Kotlin协程的基础用法

第二章 kotlin协程的关键知识点初步讲解

    2.1 协程调度器 2.2 协程上下文 2.3 协程启动模式 2.4 协程作用域 2.5 挂起函数

第三章 kotlin协程的异常处理

    3.1 协程异常的产生流程 3.2 协程的异常处理

第四章 kotlin协程在Android中的基础应用

    4.1 Android使用kotlin协程 4.2 在Activity与Framgent中使用协程 4.3 ViewModel中使用协程 4.4 其他环境下使用协程

第五章 kotlin协程的网络请求封装

    5.1 协程的常用环境 5.2 协程在网络请求下的封装及使用 5.3 高阶函数方式 5.4 多状态函数返回值方式 5.5 直接返回值的方式

第六章 深入kotlin协程原理(一)

    6.1 suspend的花花肠子 6.2 藏在身后的-Continuation 6.3 村里的希望-SuspendLambda

第七章 深入kotlin协程原理(二)

    7.1 协程的那些小秘密 7.2 协程的创建过程 7.3 协程的挂起与恢复 7.4 协程的执行与状态机

第八章 Kotlin Jetpack 实战

    8.1 从一个膜拜大神的 Demo 开始 8.2 Kotlin 写 Gradle 脚本是一种什么体验? 8.3 Kotlin 编程的三重境界 8.4 Kotlin 高阶函数 8.5 Kotlin 泛型 8.6 Kotlin 扩展 8.7 Kotlin 委托 8.8 协程“不为人知”的调试技巧 8.9 图解协程原理

第九章 Kotlin + 协程 + Retrofit + MVVM优雅的实现网络请求

    9.1 项目配置 9.2 实现思路 9.3 协程实现 9.4 协程 + ViewModel + LiveData实现 9.5 后续优化 9.6 异常处理

朋友们如果需要这份完整版的《史上最详Android版kotlin协程入门进阶实战指南》,点击文末官方认证微信卡片【免费获取】↓↓↓。

经验分享 程序员 微信小程序 职场和发展