文章 2022-05-10 来自:开发者社区

抽丝剥茧聊Kotlin协程之协程与线程之间的区别

1. 前言关于协程,可能大家最经常听到的一句话就是“协程是轻量级的线程”。一脸懵逼,有没有?这可是官方的slogan,严格意义上讲,一方面官方是想让大家把协程和线程产生一个直观关联,另一方面想宣传协程在性能上比线程更优,充分地说服大家去使用它。本文我将尝试把协程是什么讲明白。2. 聊聊线程既然说“协程是轻量级的线程”。那我们有必要先回顾下线程是什么? 在泛Java程序中,要启动一个线程那太eas....

文章 2022-05-10 来自:开发者社区

抽丝剥茧聊Kotlin协程之协程异常处理机制分析

1. 前言如果你是第一次听说有人把异常处理和事件分发联系在一起,相信你会跟我第一次接触协程异常处理机制时一样,一脸懵逼。别说在座的各位有不少Android老司机,就算是Android萌新,也应该知道,异常处理不就是try catch这么简单的事么,怎么能和复杂的事件分发机制扯上关系?别不信还真扯的上关系。如果你已经接触协程知识有段时间,并且知道协程的异常处理机制和我们以往了解的异常处理机制不一样....

抽丝剥茧聊Kotlin协程之协程异常处理机制分析
文章 2022-05-10 来自:开发者社区

抽丝剥茧聊Kotlin协程之聊聊Job和SupervisorJob的区别

1. 前言随着协程的普及,协程知识越来越被面试官青睐。首先,协程的面试题一般都很简洁,一两句简单的话就能把问题描述清楚,其次于面试官而言,协程框架中精妙的数据结构与算法可以很好的考察应聘者对基础知识的掌握程度。相对于烂大街的Android八股文,它又能很好的考察应聘者的主动学习能力。所谓行家一伸手便知有没有。协程知识便是面试场景中的行家和试金石。闲话少叙,本文带大家聊聊Job和Superviso....

抽丝剥茧聊Kotlin协程之聊聊Job和SupervisorJob的区别
文章 2022-05-10 来自:开发者社区

抽丝剥茧聊Kotlin协程之协程是如何建立结构化并发的

1. 协程的结构化并发上篇文章,我通过两个例子简单的介绍了Job cancel方法在不同的父子关系情况下,看起来很相似的代码,执行结果却很不相同的情况。文中我引出了Job结构化并发的概念,即父Job和子Job形成树的数据结构,本文我将详细介绍Kotlin协程框架是如何实现结构化并发的。什么叫结构化并发?用通俗易懂的话解释就是,协程之间的协作是有组织,有纪律的。如果协程之间的关系是确定了的,那么协....

抽丝剥茧聊Kotlin协程之协程是如何建立结构化并发的
文章 2022-05-10 来自:开发者社区

抽丝剥茧聊Kotlin协程之Job初体验

1.前言如果要我拿现实中的一事物与Kotlin协程中的Job做一个类比,那么我会把Job比作成海洋中的冰山。自由漂浮的冰山约有90%体积沉在海水表面下,因此看着浮在水面上的形状并猜不出水下的形状。与冰山一样,Job提供给开发者的功能非常简单,但是在协程框架内部Job却做了大量的工作。至关重要的是,如果开发者不去深入了解Job内部的实现机制,那么在使用协程的过程中,他就犹如开着船与冰山擦肩而过的船....

抽丝剥茧聊Kotlin协程之Job初体验
文章 2022-05-10 来自:开发者社区

抽丝剥茧聊Kotlin协程之深入理解协程上下文CoroutineContext

1. 前言如果你对CoroutineContext不了解,本文值得你细细品读,如果一遍看不懂,不妨多读几遍。写作该文的过程也是我对CoroutineContext理解加深的过程。CoroutineContext是协程的基础,值得投入学习Android开发者对Context都不陌生。在Android系统中,Context可谓神通广大,它可以获取应用资源,可以获取系统资源,可以启动Activity。....

抽丝剥茧聊Kotlin协程之深入理解协程上下文CoroutineContext
文章 2022-05-10 来自:开发者社区

抽丝剥茧聊Kotlin协程之协程启动原理

1. 前言本文主要介绍协程的启动原理,如果没有协程实战经验或者没有Debug过协程的源码,看起来可能会有点费劲,但是如果将来有机会学习协程的源码,那么这篇文章可能会对你有一定的帮助。文章主要是讲解协程启动的流程,简便起见,该过程中涉及到的其它比较重要协程知识点可能只会简单提到,本文不会深入去讲解,后续有空会对他们单独成文。2. 简单的例子首先 我们来看一个简单的例子,在主线程中开启一个协程,打印....

抽丝剥茧聊Kotlin协程之协程启动原理
文章 2022-05-10 来自:开发者社区

抽丝剥茧聊Kotlin协程之认真聊聊协程是什么

1. 前言关于协程,可能大家最经常听到的一句话就是“协程是轻量级的线程”。一脸懵逼,有没有?这可是官方的slogan,严格意义上讲,一方面官方是想让大家把协程和线程产生一个直观关联,另一方面想宣传协程在性能上比线程更优,充分地说服大家去使用它。本文我将尝试把协程是什么讲明白。2. 聊聊线程既然说“协程是轻量级的线程”。那我们有必要先回顾下线程是什么? 在泛Java程序中,要启动一个线程那太eas....

文章 2022-05-09 来自:开发者社区

抽丝剥茧聊Kotlin协程之协程避坑指南

1.前言如果要我拿现实中的一事物与Kotlin协程中的Job做一个类比,那么我会把Job比作成海洋中的冰山。自由漂浮的冰山约有90%体积沉在海水表面下,因此看着浮在水面上的形状并猜不出水下的形状。与冰山一样,Job提供给开发者的功能非常简单,但是在协程框架内部Job却做了大量的工作。至关重要的是,如果开发者不去深入了解Job内部的实现机制,那么在使用协程的过程中,他就犹如开着船与冰山擦肩而过的船....

抽丝剥茧聊Kotlin协程之协程避坑指南

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

微服务

构建可靠、高效、易扩展的技术基石

+关注