首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
协程
订阅
kais
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
Kotlin协程之再次读懂协程工作原理
概述 关于协程的创建,以及挂起和恢复,之前有写过一篇文章 Kotlin协程之深入理解协程工作原理 整理这个流程,最近再看这篇文章的时候,感觉看起来比较费劲,不是说写得有问题,只是看起来比较臃肿。如果想
Kotlin协程原理解析
1. Kotlin协程作用 Kotlin协程是一套基于Java Thread的线程框架,最大的特点就是可以1,用同步的方式写出异步代码,并且2,不阻塞当前线程。 2. cps转换 2.1 cps转换示
协程(21) | 结构化并发原理解析
Kotlin协程使用CoroutineScope来管理并发,而真正起作用的是Job,建立完父子关系的协程就像是N叉树,取消和异常事件就是事件传递,会向子Job和父Job传递。
协程(20) | 线程调度原理解析
前面文章我们说了协程启动的原理,其中block这段lambda就是协程,然后launch就是对基础API做了封装,其中一个特性就是可以指定其上下文。 而在更早的时
协程(19) | launch{}背后的逻辑
startCoroutine{}可以让一个block当成协程来启动,而block实现就是Continuation子类,通过resume调用进入其状态机。launch就是对基础API进行封装。
协程(15) | 挂起函数原理解析
Continuation是一个协程底层概念,表示挂起点返回类型为T的继续。而挂起函数就是CPS+状态机来实现,整个递归调用就使用一个continuaiton对象。
协程(13) | 异常处理
本系列专栏 #Kotlin协程 前言 前面文章我们说了协程非常多的特性,比如挂起函数、结构化并发等等,但是也正是由于这些特性,导致协程的异常处理十分麻烦,如果直接使用Java的try-catch那一套
协程(12) | 协程的并发
协程可以看成更轻量的线程,所以可以用协程来做并发。但是并发问题本质还是多线程修改共享变量导致的。所以方案有:Java的同步方案,协程的方案:单线程并发和非阻塞式锁:Mutex。
协程(10) | Flow
Flow作为数据流,API分为上游、中间操作符和下游三大类,其中很多是挂起函数,从而实现复杂的业务操作在不同的协程间协作。
协程(8) | Channel
Channel是一个管道,可以用在协程间通信,而且发送和接收都是挂起函数,用于返回多个结果的情况,比如APP首页实时显示后台GPS数据,同时它是"热"的。