美文网首页
Kt协程基础知识点

Kt协程基础知识点

作者: _好好学习 | 来源:发表于2020-05-17 18:04 被阅读0次
  1. suspend函数只能在CoroutineScope(协程作用域)中,或者另外一个suspend函数中调用;
  2. runBlocking会启动一个协程并且阻塞当前线程(即使是在另一个线程执行协程)直到其中的代码都执行;
  3. launch表示启动一个新的协程并且不阻塞当前线程;
  4. launch、runBlocking都不是suspend函数,runblocking不会等待非suspend函数;
  5. runBlocking不会等待非suspend函数;
  6. launch函数是CoroutineScope的方法,也就是说如果调用launch必须要有CoroutineScope对象;
  7. launch会返回一个Job对象,Job的join()是suspend函数,它的作用是挂起当前协程直到完成;
  8. async和launch类似,都是创建一个新的协程,async可以立即启动也可以惰性启动;
  9. async会返回一个Deferred对象,Deferred的await()会阻塞当前线程,等待计算结果并返回;
  10. withContext没有默认的调度器,必须指定一个协程调度器,效果类似于async{}.await()
  • async适用于需要多次调用并且需要知道结果的场景,如多任务下载;withContext适用于不需要多次调用只需知道结果的场景,如网络请求

相关文章

  • Kt协程基础知识点

    suspend函数只能在CoroutineScope(协程作用域)中,或者另外一个suspend函数中调用; ru...

  • 分享Kotlin协程在Android中的使用

    前言 之前我们学了几个关于协程的基础知识,本文将继续分享Kotlin协程的知识点~挂起,同时介绍协程在Androi...

  • AndroidのKotlin协程

    参考资料:协程基础 1.协程Coroutines基础 1.1 GlobalScope.launch启动一个独立协程...

  • Android版kotlin协程入门(三):kotlin协程的异

    kotlin协程的异常处理 在上一篇《Android kotlin协程入门(二):kotlin协程的关键知识点初步...

  • go - 学习笔记

    基础 函数 指针 结构体 接口 错误 协程 通道 基础 函数 指针 结构体 接口 错误 协程 通道

  • Kotlin协程

    协程基础概念[https://zhuanlan.zhihu.com/p/427092689]协程异常处理[http...

  • 协程基础

    一、概念 协程是通过一个线程在不同代码块之间切换执行,从而实现多任务(这里是并发,假的多任务)并发:一个时间段内,...

  • 协程-基础

    第一个协程程序 添加依赖implementation 'org.jetbrains.kotlinx:kotlinx...

  • 协程

    今天面试被问到了协程。。。一脸懵逼,携程倒是听过,协程还真没听过,得恶补基础啊。。 协程,又称微线程,纤程。英文名...

  • 协程原理:函数调用过程、参数和寄存器

    SRS是单进程、单线程、多协程结构,协程(coroutine)背景以后再介绍,这篇文章介绍协程的重要基础,理解了这...

网友评论

      本文标题:Kt协程基础知识点

      本文链接:https://www.haomeiwen.com/subject/ifvsohtx.html