Kotlin 协程笔记 先蹩一眼 (一)描述

561 阅读2分钟
1 协程 :协程是轻量级的线程,一个跟线程非常类似的用于处理多任务的概念,轻量级的线程框架
2 在kotlin 协程就是一套官方提供的线程API就像java的Executor 和Android的AsyncTask
3 一个线程框架,好在方便!能够在同一个代码块里进行多次线程切换!用同步的方式写异步的代码
  • 特性:非阻塞式挂起 (协程挂起,让出线程)
  • 基本功能:处理多线程并发 
  • 方便性:解决回调式地狱开发 ,改变操作并发的难度,可以把运行在不同线程里的代码 写在同一个代码块里,上下两行代码,线程切走再切回来 ,不带走一片云彩

怎么用

在Lauch函数里直接使用线程 IO\Main (对应子线程\主线程)

创建一个新的协程,在指定的线程(Io or Main)上运行它,在函数体里面代码就是被运行的协程

什么时候用

当你需要切线程或者在指定线程的时候使用,在后台获取数据运行 ?切 !在前台更新?再切!

No! 像极了嵌套式开发

这里在某个线程函数体里切换线程 需要用到 withContext 函数,咳咳 一等公民蛮!

withContext() 是一个被suspend修饰符的函数 

协程拥有自动切回来的功能 !消除了并发代码在协作时的嵌套!!!!!

搞错了! 再来

像这样 简单 易了! 能让多线程之间进行协作式例程

suspend 非阻塞式、挂起函数  (协程挂起,让出线程)

withContext函数如果要被在一个普通函数(suspenddingGetImage())里作为逻辑处理  ,就需要 suspend 申明,你自己申明的函数方可在协程块里的代码被调用,否则报错!

第二节笔记 挂起 juejin.cn/post/684490…

视频课 www.bilibili.com/video/av671…