文章目录前言**一、retrofit2.6.0之前使用步骤**1.引入库2.创建接收服务器返回数据的类(根据具体数据对应)3.定义描述网络请求的接口4.创建retrofit实例及接口实例创建函数5.发送网络请求6.调用封装为LiveData()数据**二、retrofit2.6.0之后使用步骤**1.导入依赖2.创建接收服务器返回数据的类(根据具体数据对应)3.定义描述网络请求的接口4.创建re
转载
2023-11-03 23:04:24
121阅读
# Android 协程 Job
在 Android 开发中,协程是一种用于异步编程的轻量级工具,它可以简化并发操作,提高代码的可读性和可维护性。在协程中,Job 是一个非常重要的概念,它代表了一个异步任务的执行单元,可以用来管理和控制任务的执行。本文将介绍在 Android 中如何使用协程 Job。
## 协程 Job 的概念
在协程中,Job 表示一个异步任务的执行单元,每个协程都有一个
原创
2024-06-25 03:45:19
69阅读
# 理解 Python 协程和 `as_completed`
Python 的异步编程近年来逐渐受到关注,尤其是在处理 I/O 密集型任务时。协程是一种轻量级的执行单元,允许我们在等待某些操作完成时(如网络请求、文件读取等),可以按需切换任务,而不会阻塞整个程序的运行。为了高效处理多个并发任务,Python 提供了一些方便的机制,其中 `as_completed` 是最为常用的方法之一。
##
协程协程是什么呢?综合了很多人的总结,一言蔽之就是一种组织代码运行的方式。 协程和线程,进程不同,它通常不是由操作系统底层直接提供支持,而是通过应用层的库来实现,譬如Kotlin的协程,其实就是依赖java/android的线程/线程池再加上一些对上下文的控制逻辑来实现的。那么使用协程能带来什么好处呢?仅仅从概念层面去讲也可以总结出几条:因为某些协程库的实现使用了任务分发(比如Kotlin),于是
转载
2023-07-02 13:32:08
281阅读
文章目录前言一、协程基础第一个协程结构化并发挂起函数 suspend范围构造器 Scope builder范围构造器 Scope builder 和 并发 concurrencyjob轻量级二、Android 上的 Kotlin 协程特点Android 上 Kotlin 协程+Retrofit进行网络请求的示例一些代码的准备Kotlin 简单使用RetrofitKotlin android 简单
转载
2023-07-05 22:51:35
97阅读
协程一 协程出现的目的同步IO: 先处理IO请求,在处理IO操作。然后回到IO请求,一直这么循环下去。 异步IO:处理玩IO请求后,不等IO操作的完成,就继续执行接下来的代码。IO操作的结果由其他方式告知发起IO请求的线程。 协程IO:在用户态实现异步。用同步的方式,编写出异步的性能。 同步IO的特点是便于理解,但是性能不高。异步IO则是性能较高,但是多个线程公用一个fd,比较麻烦。协程则集中了它
转载
2024-06-22 09:48:23
51阅读
目录Linux高性能网络:协程系列01-前言Linux高性能网络:协程系列02-协程的起源Linux高性能网络:协程系列03-协程的案例Linux高性能网络:协程系列04-协程实现之工作原理Linux高性能网络:协程系列05-协程实现之原语操作Linux高性能网络:协程系列06-协程实现之切换Linux高性能网络:协程系列07-协程实现之定义Linux高性能网络:协程系列08-协程实现之调度器Li
官网介绍:https://developer.android.com/kotlin/coroutines一、协程的概念协程(Coroutines)是一种并发设计模式,可以在 Android 平台上使用它来简化异步执行的代码。 协程是在版本 1.3 中添加到 Kotlin 的,它基于来自其他语言的既定概念。在 Android 上,协程有助于管理长时间运行的任务.二、协程的特点协程是在 Android
转载
2023-09-11 21:44:05
170阅读
一:协程是什么?协程基于线程,是轻量级的线程 coroutine = cooperation+routine 难度在哪里? 1,java中不曾出现,新概念 2,概念不清晰 3,Kotlin基础不扎实 4,多线程基础太薄弱二:在android中协程用来解决什么问题?1,处理耗时任务,这种任务常常会阻塞主线程 2,保证主线程安全,确保安全的从主线程调用任何suspend函数(挂起函数) 异步任务已经过
转载
2023-12-20 17:35:55
130阅读
前言大家好,我是小益!在上章内容中,我们简单了解了什么是协程以及协程的基本使用,主要提到了协程的launch与withContext用法。但是launch与withContext并不适合用于需要返回结果的并发场景,在并发场景中,我们一般会使用协程的async/await。推荐文章将率先在公众号「Code满满」上发布,欢迎大家关注!一、async与awiatasync单单从字面意思理解就知道其与异步
转载
2023-07-28 00:03:15
257阅读
废话留在结尾了。以下括号内有的是细分问题,有的是关键点。(注:我简历上有写源码okhttp、Retrofit、Glide、Eventbus、Arouter。)一、作业帮:1面: 1、Https握手过程(CA验证、哪些是对称加密、哪些非对称加密,ssl包含哪些内容);
转载
2023-09-19 17:27:48
205阅读
目录
前言
Kotlin协程,现在已经成为了面试甚至是工作中一个非常火的东西。本人在刚开始了解Kotlin协程的时候,断断续续看了网上不少文章,用长篇大论把Kotlin协程描述的非常玄乎,但是看完后还是依然云里雾里,所以决定来写一篇关于协程的文章,希望能够帮助大家能够更快的上手Kotlin协程JetPack里的组件上图就是JetPack中包含的组件列表,每个组件都是相对独立的,可以被单独使用和构建
转载
2024-02-01 15:12:12
50阅读
如何理解协程协程是一种不同于进程和线程的存在,其本质是一种函数,同一线程中的多个协程是串行执行的,但为了理解仍然需要三者一起对比。进程、线程、协程三者的上下文切换对比:进程线程协程切换者操作系统操作系统用户(编程者/应用程序)切换时机根据操作系统自己的切换策略,用户不感知根据操作系统自己的切换策略,用户不感知用户自己(的程序)决定切换内容页全局目录&内核栈&硬件上下文内核栈&
转载
2023-12-21 07:13:05
98阅读
协程解决了什么?协程Coroutines作为Kotlin的一大特性,被Android官方所强推,主要用来简化Android中异步代码的编写,将开发者从异步代码的泥潭中解救出来。在Android开发中,协程Coroutines所解决的两个最大的问题是:耗时任务:阻塞主线程主线程安全:任何suspend方法都可以在主线程中被调用我们来详细看看这两大问题,协程Coroutines都是如何去解决的。耗时任
转载
2023-08-01 21:02:56
100阅读
协程是一种解决方案,是一种解决嵌套,并发、弱化线程概念的方案。能让多个任务之间更好的协作,能够以同步的方式编排代码完成异步工作,将异步代码写的像同步代码一样直观。重点 协程的本质是方法的挂起与恢复:return + callback协程是什么:协程是可以由程序自行控制挂起、恢复的程序协程可以实现多任务的协作执行协程可以用来解决异步任务控制流的灵活转移协程的作用:协程可以让异步代码同步化协
转载
2023-07-03 21:27:19
2063阅读
前言虽然本文的主题是启动器,但是笔者不打算去写怎么做启动优化,以及怎么实现一个完美的启动器。关于开源的第三方Android启动器已经有很多优秀的轮子了,比如阿里巴巴的alpha,参考 alpha 并改进其部分细节的Anchors,Start数比较高的android-startup,以及Android官方自己的app-startup等等。本文的了灵感来源于我爱田Hebe的应用程序启动优化新思路 -
转载
2024-08-15 11:00:01
137阅读
目录
前言
Kotlin协程,现在已经成为了面试甚至是工作中一个非常火的东西。本人在刚开始了解Kotlin协程的时候,断断续续看了网上不少文章,用长篇大论把Kotlin协程描述的非常玄乎,但是看完后还是依然云里雾里,所以决定来写一篇关于协程的文章,希望能够帮助大家能够更快的上手Kotlin协程第一章:设计思想与代码质量优化1、设计思想六大原则 2、三大设计模式 3、数据结构 4、算法第二章:程序性
转载
2023-07-01 17:37:01
218阅读
android 协程基础基础概念协程挂起和恢复挂起和阻塞调度器Dispatchers.MainDispatchers.IODispatchers.DefaultnewSingleThreadContext结构化并发-CoroutineScope调试 背景:上家公司干了三年,开发语言主要用的JAVA和flutter来开发的,新的公司全是kotlin,所以又要把上上家公司用的kotlin要回顾下了,
转载
2023-09-19 14:25:12
114阅读
实现协程的核心:跳转(协程切换)协程想要拥有同步的编程方式和异步的性能,因此我们不能对同步的代码进行修改,而要想办法对异步的代码进行修改,使得其下面我们以中的HTTP客户端异步实现代码为例下面且听我细细道来如何跳转?往哪里跳转?在代码中,客户端调用async_http_commit()函数向服务端发送一个HTTP请求,为了实现异步的方式,我们在调用send()发送数据之后,把这个fd添加到epol
转载
2023-08-10 19:26:54
116阅读
Kotlin 协程之三:Android中的应用1.将线程改为协程2.将网络请求改为协程3.生命周期 至此,我们完全了解了协程的使用和实现原理,那么如何应用到我们Android项目中呢?这里讲一些简单的例子。1.将线程改为协程通常我们有一些小的延时任务或异步任务,会使用线程池来解决,这里我们可以用协程来解决,比如:在页面创建后,异步读取数据库中的内容,然后展示到TextView上。Co
转载
2024-02-02 15:30:42
97阅读