相关内容
破解 Kotlin 协程(8) - Android 篇
kotlin 协程 android anko android 上面使用协程来替代回调或者 rxjava实际上是一件非常轻松的事儿,我们甚至可以在更大的范围内结合 ui 的生命周期做控制协程的执行状态~1. 配置依赖我们曾经提到过,如果在 android 上做开发,那么我们需要引入implementation org.jetbrains.kotlinx:kotlinx-coroutines-android:$k...

深入浅出Kotlin协程
协程和线程,进程不同,它通常不是由操作系统底层直接提供支持,而是通过应用层的库来实现,譬如kotlin的协程,其实就是依赖javaandroid的线程线程池再加上一些对上下文的控制逻辑来实现的。 那么使用协程能带来什么好处呢? 仅仅从概念层面去讲也可以总结出几条:因为某些协程库的实现使用了任务分发(比如kotlin)...
抽丝剥茧Kotlin - 协程
我们将在下面的文章给出。? 悲伤的故事本个系列文章分为三篇,本文是第二篇:“《即学即用kotlin - 协程》《抽丝剥茧kotlin - 协程基础篇》《抽丝剥茧kotlin - 协程flow篇》一、结构简要介绍首先,我们得明确协程中有哪些东西,如果你会使用协程,那你肯定知道协程中有 coroutinescope、coroutinecontext 和 coroutin...

Kotlin 协程和 Android SQLite API 中的线程模型
从 room 2.1 版本之后,开发者们可以通过定义 suspend dao 函数来使用 kotlin 协程了。 协程在处理异步操作时表现得异常优秀,它可以让您用顺序自然的代码处理诸如操作数据库一类的耗时操作,而不再需要专门在线程之间来回切换任务、处理结果或错误了。 room 支持协程后,可以在数据库操作中使用由并发作用域、生命...
即学即用Kotlin - 协程
前言上周在内部分享会上大佬同事分享了关于 kotlin 协程的知识,之前有看过 kotlin 协程的一些知识,以为自己还挺了解协程的,结果... 在这一次分享中,发现 flow 和 channel 这一块儿知识是自己不怎么了解的,本文也将着重和大家聊一聊这一块儿的内容,协程部分将分为三篇,本文是第一篇:“《即学即用kotlin - 协程...
破解 Kotlin 协程(3) - 协程调度篇
关键词:kotlin 异步编程 协程上一篇我们知道了协程启动的几种模式,也通过示例认识了 launch 启动协程的使用方法,本文将延续这些内容从调度的角度来进一步为大家揭示协程的奥义。? 1. 协程上下文调度器本质上就是一个协程上下文的实现,我们先来介绍下上下文。 前面我们提到 launch 函数有三个参数,第一个参数叫 ...
破解 Kotlin 协程(5) - 协程取消篇
kotlin 协程 协程取消 任务停止协程的任务的取消需要靠协程内部调用的协作支持,这就类似于我们线程中断以及对中断状态的响应一样。 1. 线程的中断我们先从大家熟悉的话题讲起。 线程有一个被废弃的 stop 方法,这个方法会让线程立即死掉,并且释放它持有的锁,这样会让它正在读写的存储处于一个不安全的状态,因此 ...
【翻译】深入 Kotlin 协程
原文标题:diving deep into kotlin coroutines原文地址:https:www.kotlindevelopment.comdeep-dive-coroutines原文作者:adrian bukros二、正文编写 kotlin 协程相关的文章是当下比较流行的一个话题,这当然是有极好的理由支撑着的。 jetbrains 公司的伙伴们创造了一门非常实用的计算机语言,赢得了成千上万开发者...
破解 Kotlin 协程 - 入门篇
假定你对协程(coroutine)一点儿都不了解。 通过阅读本文看看是否能让你明白协程是怎么一回事。 ?1. 引子我之前写过一些协程的文章,很久以前了。 那会儿还是很痛苦的,毕竟 kotlinx.coroutines 这样强大的框架还在襁褓当中,于是乎我写的几篇协程的文章几乎就是在告诉大家如何写这样一个框架——那种感觉简直...
使用kotlin协程提高app性能(译)
在android上,协程有助于解决两个主要问题:管理长时间运行的任务,否则可能会阻止主线程并导致应用冻结。 提供主安全性,或从主线程安全地调用网络或磁盘操作。 本主题描述了如何使用kotlin协程解决这些问题,使您能够编写更清晰,更简洁的应用程序代码。 管理长时间运行的任务 在android上,每个应用程序都有一个主...
通过RxJava看kotlin协程(二)
大胆点以后面试问你kotlin协程是如何实现调度的逻辑,你就把逻辑copy一遍告诉他就好了。 感谢写这篇文章还收收集了一些资料的,谢谢各位大佬。 理解rxjava...而dispatchermain是可以有外部的fatroy构造的,由安卓的kotlin支持库中可以发现,其实现类是androiddispatcherfactory。 internal class androiddispatch...
一文快速入门 Kotlin 协程
那么就需要考虑采用什么技术栈来实现了采用 kotlin 语言来实现必不可少,都这年头了还用 java 也说不过去。 retrofit 也必不可少,而当时 retrofit 也已经原生支持 kotlin 协程了,google 官方推出的 jetpack 协程扩展库也越来越多,就最终决定弃用 rxjava 拥抱 kotlin 协程,将协程作为技术栈之一当时我是通过翻译协...
破解 Kotlin 协程(4) - 异常处理篇
关键词:kotlin 协程 异常处理异步代码的异常处理通常都比较让人头疼,而协程则再一次展现了它的威力。 1. 引子我们在前面一篇文章当中提到了这样一个例子: typealias callback = (user) -> unit fungetuser(callback: callback){ ...}我们通常会定义这样的回调接口来实现异步数据的请求,我们可以很方便的将它转换...
破解 Kotlin 协程(1) - 入门篇
我之前写过一些协程的文章,很久以前了。 那会儿还是很痛苦的,毕竟 kotlinx.coroutines 这样强大的框架还在襁褓当中,于是乎我写的几篇协程的文章几乎就是在告诉大家如何写这样一个框架——那种感觉简直糟糕透了,因为没有几个人会有这样的需求。 这次准备从协程用户(也就是程序员你我他啦)的角度来写一下,希望对...
Kotlin 协程 看这一篇就够了
kotlin协程的优势在哪里? 相信看完这一篇你一定有所收获! 协程基本使用若使用协程,首先我们得引入协程相关的开发包implementation org.jetbrains.kotlinx:kotlinx-coroutines-core:1. 3. 7-mpp-dev-11implementation org.jetbrains.kotlinx:kotlinx-coroutines-android:1. 3. 7-mpp-dev-11上面一个是java环境的...
饿了么资深Android工程师带你领略Kotlin协程的力量
内容来源:2018 年 6 月 28 日,饿了么资深android工程师张涛在“droidcon上海2018安卓技术大会”进行《领略kotlin协程的力量》演讲分享。 it 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。 阅读字数:3232 | 9分钟阅读摘要协程相对多线程有着更易于控制的优势,很多语言都提供了协...
Kotlin协程实现原理:挂起与恢复
如果你已经接触过协程,但对协程的原理存在疑惑,那么在阅读本篇文章之前推荐你先阅读下面的文章,这样能让你更全面更顺畅的理解这篇文章。 kotlin协程实现原理:suspend&coroutinecontextkotlin协程实现原理:coroutinescope&jobkotlin协程实现原理:continuationinterceptor&coroutinedispatcher如果你已经接触过协程...
Kotlin协程实现原理:CoroutineScope&Job
如果你已经接触过协程,但对协程的原理存在疑惑,那么在阅读本篇文章之前推荐你先阅读下面的文章,这样能让你更全面更顺畅的理解这篇文章。 kotlin协程实现原理:suspend&coroutinecontext如果你已经接触过协程,相信你都有过以下几个疑问:协程到底是个什么东西? 协程的suspend有什么作用,工作原理是怎样的? 协程...
一篇文章揭开Kotlin协程的神秘面纱
前言kotlin协程提供了一种新的异步执行方式,但直接查看库函数可能会有点混乱,本文中尝试揭开协程的神秘面纱。 理论它是什么 这是别人翻译: 协程把异步编程放入库中来简化这类操作。 程序逻辑在协程中顺序表述,而底层的库会将其转换为异步操作。 库会将相关的用户代码打包成回调,订阅相关事件,调度其执行到不同的...
Kotlin 协程真的比 Java 线程更高效吗?
最近几年协程的概念越来越深入人心,主要还是因为google的go语言应用范围越来越广,考虑到目前并没有一个通用的协程的定义,所以本文中对协程的定义主要来自于go。 一、kotlin协程在互联网上的主流定义问题的讨论起源于文章《go语言出现后,java还是最佳选择吗? 由于之前写过一段时间go语言,对go语言有一定的理解...