1.     Android中进程与进程、线程与线程之间如何通信? 1)一个 Android 程序开始运行时,会单独启动一个Process。 默认情况下,所有这个程序中的Activity或者Service都会跑在这个Process。 默认情况下,一个Android程序也只有一个Process,但一个Process下却可以有许多个Thread。 2)一个 A            
                
         
            
            
            
            前言:关于kotlin协程的介绍网上一大堆,用于网络请求的介绍也是一大堆,此文章不讲解各种原理,只讲实例使用,只要你有kotlin基础保证能看懂,看完就可以实际将kotlin协程应用于网络请求,从此废弃掉回调地狱,让你的app飞起来吧本文的网络请求使用了Retrofit2 + okhttp,因为使用的是协程,就再也不需要回调地狱了,所以抛弃了Rxjava1.先集成相关sdk在app模块目录buil            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-16 21:43:09
                            
                                327阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            使用协程完成本地数据库SQLite操作封装daopackage com.example.kotlin01.database
import android.app.Application
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
import com.exampl            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-14 15:01:29
                            
                                72阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Android 协程与 IO 操作
在 Android 开发中,IO(输入/输出)操作是常见的任务,如文件读写、网络请求等。传统的 Android 开发中,IO 操作通常是异步的,需要使用回调函数或者使用 `AsyncTask` 等。然而,随着 Kotlin 语言的引入,协程(Coroutine)提供了一种更简洁、更强大的异步编程方式。
## 协程简介
协程是一种更轻量级的线程,可以在单            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-07-21 07:19:43
                            
                                140阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            什么是orchid?orchid是一个构建于boost库基础上的C++库,类似于python下的gevent/eventlet,为用户提供基于协程的并发模型。什么是协程:协程,即协作式程序,其思想是,一系列互相依赖的协程间依次使用CPU,每次只有一个协程工作,而其他协程处于休眠状态。协程在控制离开时暂停执行,当控制再次进入时只能从离开的位置继续执行。 协程已经被证明是一种非常有用的程序组件,不仅被            
                
         
            
            
            
            # Android 协程中的 IO 和 Default 调度器
在 Android 开发中,异步编程是不可避免的,尤其是在处理网络请求和文件操作时。Kotlin 协程的引入大大简化了异步编程,通过轻量级的协程,开发者可以更方便地管理异步任务。本文将探讨 Kotlin 协程中的 IO 和 Default 调度器,并通过示例代码帮助理解。
## 什么是调度器?
在 Kotlin 协程中,调度器(            
                
         
            
            
            
            一、什么是协程?是单线程下的并发,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。协程相比于线程切换效率更快了.本质是线程能够在多个任务之间切换来节省一些IO时间.协程中任务之间的切换时间开销要远远小于进程线程之间的切换. 真正的协程模块就是使用greenlet完成切换的.进程和协程的任务切换由操作系统完成.协程任务            
                
         
            
            
            
            初步印象协程是线程之下更小的处理单元,本质上协程是轻量级的线程。本文章先把协程的简单用法梳理一遍,至于细节再在以后的文章里结合网络请求、IO操作在进行深入研究。协程比较轻量协程是基于线程的封装,底层还是依赖于线程协程可以简化异步编程相关概念kotlinx.coroutines 是由 JetBrains 开发的功能丰富的协程库。它包含本指南中涵盖的很多启用高级协程的原语,包括 launch、 asy            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-21 19:33:11
                            
                                56阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前面两篇文章介绍了协程的一些基本概念和基本知识,这篇则介绍在Android中如何使用协程配合Retrofit发起网络请求,同时介绍在使用协程时如何优雅的取消已经发起的网络请求。需要文章中demo完整代码的同学可以私我。创建CoroutineScope在前面的文章中我写到CoroutineScope.launch方法是一个很常用的协程构建器。因此使用协程必须先得创建一个CoroutineScope对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-31 16:24:49
                            
                                109阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            作者:谭嘉俊1、概述本篇文章讲解的内容是在Android中使用协程。在说协程之前,我先说下线程和线程池:线程是操作系统的内核资源,是CPU调度的最小单位,所有的应用程序都运行在线程上,它是我们实现并发和异步的基础。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-09-24 15:27:19
                            
                                1655阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
            ## 在Java中使用协程
协程是一种轻量级的线程,可以在执行过程中暂停,保存当前状态,并在需要的时候恢复执行。在Java中,协程可以通过一些库或框架来实现,例如Quasar和Kilim。
### 协程的优势
协程相较于传统的线程有以下优势:
1. **更高的性能**:协程的切换开销比线程小得多,因为它们是在同一个线程中切换的,不需要进行上下文切换和内核态和用户态之间的转换。
2. **更            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-08-05 15:16:57
                            
                                315阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在Java中使用协程
协程(Coroutine)是一种轻量级线程,可以在执行过程中暂停并恢复。它相比于传统的多线程模型更加高效和易用,可以简化并发编程的复杂性。在Java中,协程可以通过一些库和框架来实现,本文将介绍如何在Java中使用协程,并且通过代码示例来演示其用法。
### 协程的基本概念
协程是一种特殊的函数,可以在执行过程中主动让出控制权,暂停并保存当前的执行状态,然后在之后的某个            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-08-05 15:17:34
                            
                                480阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. 基础概念1.1 协程概念协程(Coroutine),也称为微线程,是一种用户态内的上下文切换技术。其实就是通过一个线程实现代码块相互切换执行。实现协程的几种方法:greentlet ,手动switch切换yield关键字asyncio装饰器(py3.4+),遇到IO自动切换。async、await他关键字(py3.5,推荐)协程的目的是通过一个线程利用其IO等待的时候,再去干点别的事情,别闲            
                
         
            
            
            
              而让异步过程更加简化的,就是 ASIO 作者发明的 stackless coroutine! 协程大大简化了编程, 尤其是内存管理.协程简化了内存管理写过异步程序的人都知道, 编写异步代码最容易犯的错就是内存泄露了.asio的无栈协程通过 闭包 的形式, 将异步过程所要操作的资源绑定到 闭包 上, 并使用 shared_pt            
                
         
            
            
            
            协程基础知识概念协程也可以被称为微线程,是一种用户态内的上下文切换技术。简而言之,就是通过一个线程实现代码块相互切换。协程与线程的不同协程不是计算机提供的,而是程序员人为创造的。线程和进程是由计算机操作系统提供的。协程与多线程的区别:多线程运行时:保证只有一个线程在运行,其他线程等待调度。这是python GIL锁导致的,会浪费一些资源开销。协程运行时:在一个线程中运行多个任务,任务与任务之间来回            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-24 12:49:22
                            
                                48阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              一、前面我们简单的说了一下,Python中的协程原理。这里补充Java的协程实现过程。有需要可以查看python之协程。  二、Java协程,其实做Java这么久我也没有怎么听过Java协程的东西,但是一直有有听到微线程/协程的概念,这不在学习Python的时候接触到了协程一词。然后返回来去了解Java的协程问题,但是看了很多资料,发现官网以及很多地方都没有涉及到协程的东西,没有办法,只能通过            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-21 22:40:41
                            
                                122阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            flow 介绍之前介绍的启动协程方法,比如 launch、async 都是协程的单次启动。如果有复杂场景,比如发送多个数据,就需要使用 flow 数据流。在 flow 中,数据如水流一样经过上游发送,中间站处理,下游接收。创建 flow创建 flow 有 3 种方式:flow{}flowOf()asFlow()flowflow{} 中使用 emit 发送数据。fun flowEmit() = ru            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-03 15:18:48
                            
                                472阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            协程的简介进程:应用程序的启动实例,比如打开一个软件,就是开启了一个进程。进程拥有代码和打开的文件资源、数据资源和独立的内存空间。线程:从属于进程,是程序的实际执行者。一个进程至少包含一个主线程,也可以有很多子线程。线程拥有自己的栈空间。协程:又称微线程,英文:Coroutine,是一种比线程更轻量级的存在。一个线程可以拥有多个协程。协程,这个概念很早就被提出来,但是近几年才开始得到广泛应用。 协            
                
         
            
            
            
            (1)首先回顾:内部类与外部类 
点击打开链接(2)线程同步(这一段文字源于借鉴) 当多个线程访问同一个数据时,非常容易出现线程安全问题。 这时候就需要用线程同步 Case:银行取钱问题,有以下步骤:  A、用户输入账户、密码,系统判断是否登录成功  B、用户输入取款金额  C、系统判断取款金额是否大于现有金额  D、如果金额大于取款金额,就成功,否则提示小于余额  现在模拟2个人同时对一个账户取            
                
         
            
            
            
             
本文是介绍 Android 协程系列中的第一部分,主要会介绍协程是如何工作的,它们主要解决什么问题。
协程用来解决什么问题?
Kotlin 中的 协程 提供了一种全新处理并发的方式,您可以在 Android 平台上使用它来简化异步执行的代码。协程是从 Kotlin 1.3 版本开始引入,但这一概念在编程世界诞生的黎明之际就有了,最早使用协程的编程语言可以追溯到 1967 年的 Simula            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-06-09 22:09:02
                            
                                99阅读
                            
                                                                                    
                                2评论