kotlin的协程

431 阅读1分钟

协程是什么

kotlin的协程是一个线程框架,协助你使用线程,是一种处理多任务并发的方案

协程的本质

基于JVM的语言底层都是通过线程来执行任务,本质就是对线程的封装,类似于Executor

协程里的线程是如何切换的

1.通过Handler切换到主线程 2.拆分各个suspend方法,按顺序分别根据其指定的线程来执行

协程的优点

1.自动切回协程上下文所在线程
2.suspend标记的方法内指定运行所在线程,人为暴露耗时方法,方便协作开发提高程序性能
3.withContext使用简便
4.比单独创建线程更加轻量

协程的缺点

异常处理?

协程与Executor

比Executor使用更加方便

协程与RxJava

1.配合aysnc、await()组合使用,比RxJava更简便
2.不能完全替代RxJava(的事件流设计、丰富的操作符)

协程的使用注意事项

1.协程管理:GlobalScope、MainScope、lifecycleScope
2.挂起函数:coroutinScope、runBlocking