协程是什么
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