多线程是可以并行处理数据的。 比如我开了4个线程,每个线程申请一个内存,我把它写入到某个指针(地址空间)去。这时候cpu多核就展现出来,可以同时写入数据。只是大部分情况下一般程序开发者用不了那么精度的计算,所以成就了协程。那么我们说说协程。 协程理论上只是并发处理数据,而不是并行处理数据。并发的意思一个线程下,单核内,它一个个执行任务,遇到阻塞情况下会去执行未被阻塞的代码。当代码不阻塞了它又回来继            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-16 08:19:34
                            
                                8阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言 前段时间写了一篇对协程的一些理解,里面提到了不管是协程还是callback,本质上其实提供的是一种异步无阻塞的编程模式;并且介绍了java中对异步无阻赛这种编程模式的支持,主要提到了Future和CompletableFuture;之后有同学在下面留言提到了RxJava,刚好最近在看微服务设计这本书,里面提到了响应式扩展(Reactive extensions,Rx),而RxJava是R            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-09 16:48:35
                            
                                115阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             quasar纤程文档:FiberExecutorScheduler (Quasar 0.8.0) 在该文档中我发现了FiberExecutorScheduler类,这个类将是本文阐述quasar协程池的正确打开方式!【全是泪】分析经历:我一直对Quasar及其轻质纤维替代Threads感到好奇。那么quasar本身是否有自己的纤程池呢?于是看是翻阅文档,找吧挨个看吧!线程池T            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-09 17:16:22
                            
                                127阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            这是系列笔记,目录提要:cppcoro 源码级使用教程系列: 概述 | C++20 coroutine 教程 | io_uring 异步IO 网络框架 系列笔记_我说我谁呢 --CSDN博客很遗憾的是,虽然本身学习服务器应该把 socket 编程、缓存处理、linux 系统调用信号机制等这些为重点,但是对于要用 coroutine 来做的话,其实是优点舍近求远的,因为你必须理解异步和 corout            
                
         
            
            
            
            想快速了解协程与网络调用的原来么,那么请赶紧关闭本页,因为下面都是在扯淡。这几天是端午假期,第一天大算照着网上一大堆基于ucontext来写协程的文章自己也写一个简单的协程实现。于是第一天我就开始动手了,非常轻松愉快,毕竟是抄么。但是很多文章写到怎么用ucontext做切换就戛然而止了,很显然在我们日常协程用的比较多的网络应用中没有人会去做手工的协程切换,这些协程的切换调度其实都被封装在socke            
                
         
            
            
            
            进程、线程和协程的区别进程:充分利用多CPU线程:充分利用多核(达到真正的多任务并行)协程:充分利用单核(充分挖掘不断提高性能的单核CPU的潜力。类比事件驱动和异步程序)。既可以利用异步优势,又可以避免反复系统调用,还有进程切换造成的开销。协程存在的意义: 对于多线程应用,CPU通过切片的方式来切换线程间的执行,线程切换时需要耗时(保存状态,下次继续)。协程,则只使用一个线程,在一个线程中规定某个            
                
         
            
            
            
            参考链接示例来自bilibili Kotlin语言深入解析 张龙老师的视频本节先介绍协程的相关概念 概念可能枯燥,我们先要了解协程中的相关概念 然后结合代码理解这些概念 加深印象协程的定义协程通过将复杂性放入库中来简化异步编程。程序的逻辑可以在协程中顺序地表达,而底层库为我们解决异步性协程库可以将用户代码地相关部分包装为回调、订阅相关事件(listener)、在不同地线程(甚至不同的机器)上调度,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-08 22:54:29
                            
                                73阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录Kotlin协程原理特点调度程序线程 Kotlin协程原理协程是一种并发设计模式,您可以在 Android 平台上使用它来简化异步执行的代码。Kotlin 使用堆栈帧管理要运行哪个函数以及所有局部变量。挂起协程时,系统会复制并保存当前的堆栈帧以供稍后使用。恢复时,会将堆栈帧从其保存位置复制回来,然后函数再次开始运行。即使代码可能看起来像普通的顺序阻塞请求,协程也能确保网络请求避免阻塞主线            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-28 11:31:28
                            
                                29阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、协程概念  协程:是单线程下的并发,又称微线程,纤程。英文名Coroutine。协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的。 大概就是这个样子  协程的运行需要在一个 EventLoop 中进行,由它来控制异步任务的注册、执行、取消等。其大致原理是:把传入的所有异步对象(准确的说是可等待对象,如 Coroutine,Task             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-08 18:10:49
                            
                                115阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.多线程、多进程、多协程    进程:一个运行的程序,进程是系统调度和分配的最小单位,拥有自己独立的空间内存,进程之间不共享资源。    线程:调度执行的最小单位,依赖于进程,一个进程至少有一个线程,并且同一个进程内的线程之间共享资源,大大提升了程序运行速度,切换由系统调度。    协程:一种用户态的轻量级            
                
         
            
            
            
            rxjava源码中的线程知识rx的最精简的总结就是:异步这里说一下以下的五个类1.Future
2.ConcurrentLinkedQueue
3.volatile关键字
4.AtomicReference 5.ScheduledExecutorService一.Future类    1.Future的唯一实现类是FutureTask。   &nb            
                
         
            
            
            
            原文作者:Dávid Karnok
引言Kotlin 的协程是否让 RxJava 和 响应式编程光辉不再 了呢?答案取决于你询问的对象。狂信徒和营销者们会毫不犹豫地是是是。如果真是这样的话,开发者们迟早会将 Rx 代码用协程重写一遍,抑或从一开始就用协程来写。 因为 协程 目前还是实验性的,所以目前的诸如性能瓶颈之类的不足,都将逐渐解决。因此,相对于原生性能,本文的重点更在于易用性方面。方案设计假            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-25 21:14:55
                            
                                129阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Kotlin协程的使用协程是什么?首先kotlin协程是kotlin的扩展库(kotlinx.coroutines)。线程在Android开发中一般用来做一些复杂耗时的操作,避免耗时操作阻塞主线程而出现ANR的情况,例如IO操作就需要在新的线程中去完成。但是呢,如果一个页面中使用的线程太多,线程间的切换是很消耗内存资源的,我们都知道线程是由系统去控制调度的,所以线程使用起来比较难于控制。这个时候k            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-15 10:55:41
                            
                                74阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录前言一. gradle配置二. 创建协程的三种方式2.1 runBlocking2.2 GlobalScope2.3 CoroutineScope三. 总结 前言协程:英文coroutine,协程可以认为是轻量级的线程,是一套基于Java线程池的封装。相对于线程要处理各种同步问题,协程则可以将其简化,以同步的方式写异步代码。一. gradle配置对于Android项目,最新版本的kotl            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-01 16:12:20
                            
                                248阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录进程简介使用场景线程简介使用场景协程简介使用场景进程与线程之间的关系 背景:竞争上岗已工作半个月,老大给的第一个任务是让我理解线程、进程、协程的概念和使用场景,不忘初心,来波分享进程简介一个运行的程序或代码就是一个进程,一个没有运行的代码叫程序。进程是系统进行资源分配的最小单位,进程拥有自己的内存空间,进程之间相互独立,所以进程间数据不共享,开销大,同一个进程中的所有线程共享资源使用场景多进            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-31 21:39:22
                            
                                50阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文我将尝试对RxJava最核心的 线程调度 的原理进行分析。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-27 09:43:15
                            
                                67阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 用协程取代RxJava
## 介绍
在Android开发中,RxJava是非常常用的异步编程库,但是随着Kotlin语言的发展和Android Jetpack的引入,协程逐渐成为替代RxJava的一个选择。协程提供了一种更简洁、更易于理解和维护的异步编程方式。本文将指导你如何将RxJava代码转换为协程代码,并为你提供了一些实用的示例。
## RxJava和协程的基本概念
在开始之前,让我            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-15 09:45:18
                            
                                204阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            按调用栈分类     
  由于协程需要支持挂起、恢复,因此对于挂起点的状态保存就显得极其关键。类似地,线程会因为 CPU 调度权的切换而被中断,它的中断状态会保存在调用栈当中,因而协程的实现也按照是否开辟相应的调用栈存在以下两种类型: 
    
    有栈协程 Stackful Coroutine:每一个协程都会有自己的调用栈,有点儿类似于线程的调用栈,这种情况下的协程实现其            
                
         
            
            
            
            # 协程如何替换RxJava:解决实际问题
在现代Android开发和其他基于JVM的应用程序中,异步编程是一项至关重要的技能。过去几年,RxJava凭借其响应式编程风格成为异步编程的一种流行选择。然而,随着Kotlin引入的协程特性,许多开发者开始考虑是否可以用协程替代RxJava。本文将探讨如何使用协程替换RxJava来解决一个实际问题,并提供具体的示例。
## 什么是RxJava?
R            
                
         
            
            
            
            Ajax         说道ajax到底什么是ajax? ajax是一种创建交互网页应用的一门技术。        ajax的应用场景有:(地图)实时更新,表单验证等等....        ajax的优缺点: