栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Kotlin 协程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Kotlin 协程

目录

一、什么是协程

二、创建协程

2.1 协程上下文(调度器)

2.2 启动方式

2.3 Job

三、suspend关键字

四、协程挂起与恢复


一、什么是协程

协程可理解为轻量级的线程,但其不是线程,而是基于线程的工具库。

协程的目的是减轻繁琐的异步操作,按同步编码习惯编写异步任务。

二、创建协程

launch:创建协程;

async:创建带返回值的协程,支持并发;

withContext:不创建新的协程,在指定协程运行;

runBlocking:类似 launch,但其 delay 方法会阻塞线程;

2.1 协程上下文(调度器)

Dispatchers.Main:当前协程在UI线程执行;

        在主线程使用不一定立即执行,因为是用Handler方式发送任务;

Dispatchers.IO:在线程池执行,可以发送网络请求或执行IO任务;

Dispatchers.Default:在线程池执行,可以执行CPU密集型运算;

Dispatchers.unconfined:在当前线程执行;

2.2 启动方式

Default:创建就启动;

Lazy:需要时才启动;

2.3 Job

协程构造方法返回值

job.start:启动协程

job.join:等待协程执行完毕

job.cancel:取消协程

三、suspend关键字

修饰函数,被修饰的函数称作挂起函数,表示在当前线程挂起该协程任务,转到挂起函数内的线程中执行,原线程可执行其他任务,如刷新UI等。这叫非阻塞式挂起。

suspend修饰的函数只能在协程内或另一个挂起函数中调用。

四、协程挂起与恢复

协程内代码是顺序执行的,直到被挂起为止。

被挂起的协程不会继续执行,直到挂起结束且线程空闲时继续执行。

协程在哪个线程恢复,就在哪个线程继续执行。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659069.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号