Android协程学习

一、引入:
build.gradle添加配置
kotlin{
    experimental {
        coroutines 'enable'
    }


 // Coroutines
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2'

二、常用接口
1.GlobalScope.launch{}
启动协程

2.runBlocking{}
阻塞当前协程和线程

3.corountineScope{}
阻塞当前协程,不阻塞线程

4.supervisorScope 捕获协程内部的异常可抛出
coroutineScope 和 supervisorScope 将会等待所有的子协程都完成。

5.delay(1000) 延迟当前协程

6.repeat(n){} 重复多次调用,简单函数

7.GlobalScope.async{} 启动异步协程,有返回值 Deffered<>,通过await()获取


8.自创一个协程父类,方便取消:
val job = Job()
val scope = CoroutineScope(job)
scope.launch{//do something }
job.cancel()

9.withTimeout
定义超时,会抛出超时异常,会中断了当前协程的运行。除非try...catch

10. suspend fun 可在launch中调用的函数

11. withContext(Dispatchers.IO){} 可以切换协程线程


Android的协程(Coroutines)基础概念
https://www.jianshu.com/p/ba2bc82ac457

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值