协程

骑着蜗牛撵大象32716 小时前
android·c++20·协程·并发编程·co_await·屏障同步
C++20 协程 × 屏障:手写一个 co_await 版 Barrier,让等待不再钉死线程C++20 把 co_await 带进了标准库,但很多人对协程的期待还停在「替代回调」上。其实它真正的价值之一,是重写那些「等待型」并发原语——最典型的就是屏障(barrier)。
范中勤13 天前
python·agent·协程·并发编程·asyncio
Python 协程(Coroutine)通俗讲解与技术原理:从 await 挂起到 Agent 高并发线程由操作系统内核调度;协程由代码(事件循环)在用户态自己调度的"轻量子程序"。类比(修正版)注意这个类比里最关键的一环:协程必须"主动让出"。如果有人占着工位不挪窝,整间办公室就他一个人干活。
范中勤15 天前
python·llm·协程·并发编程·asyncio
Python Asyncio 协程与 LLM 异步并发原理技术文档(与 Java 对比|彻底澄清所有误区)Python 协程不是线程、不新开线程、不由 OS 调度。协程是:单 OS 线程内、用户态事件循环、协作式调度的轻量 IO 并发模型。
ZealSinger20 天前
kotlin·协程·迁移·kotlin2.4
Kotlin2.4迁移context parameters2.3.20 起 context receivers no longer supported / 不再支持;2.4 起除 context arguments 与 callable references 外已稳定,一般项目不再需要 -Xcontext-parameters。若你还在用 -Xcontext-receivers,或在 Beta 阶段靠 -Xcontext-parameters 试水,升级到 Kotlin 2.4 后应尽快把声明改成带名字的 context parameters,并理清仍实验的开关
ZealSinger24 天前
spring boot·kotlin·协程·可观测性
Boot4挂起函数丢traceId怎么修Spring Boot 4 / Framework 7 把 Kotlin 基线抬到了 2.2,协程与 Web 栈贴得更紧。可观测这条线上,有个很容易踩的坑:过滤器、拦截器里明明有 observation,同步代码日志也能打出 traceId,一进 挂起函数,同一请求的业务日志却空了。Micrometer 没坏,毛病出在 上下文没跟着协程走。下面按官方博客与 Kotlin Coroutines 文档,把原因、开关和显式桥接说清楚,并补一个官方博客没提的前提:Spring MVC 里只配 YAML 不一定生效
ZealSinger1 个月前
kotlin·协程·后端开发·结构化并发
Kotlin后端别再用GlobalScope在 Kotlin 后端里,GlobalScope.launch 看起来最省事:不用声明 Scope、不用想生命周期,协程就能飞起来。官方 API 文档却把它标成 Delicate:没有 Job,取消不了整批,也等不齐全部完成。JetBrains 博客上 2025 年 12 月的一篇客座文章(问答体,作者是 JetBrains 认证 Kotlin 讲师)也提到:把协程当成「语法更漂亮的线程」是一种反模式,典型症状正是 GlobalScope.launch、生产路径乱 runBlocking、忽略结构化并发。
青穗CherishTang1 个月前
网络请求·协程·retrofit·flow
关于Retrofit+Kotlin Flow协程网络请求的封装(全新版)上一篇文章讲了 Retrofit + RxJava3 + LiveData 的 Java 版网络请求封装: https://blog.csdn.net/fzkf9225/article/details/150964127
felixking2 个月前
开发语言·c++·协程
C++20 协程协程 不是 C++函数, 而是一个 C++对象, 能 实现 挂起运行 和 恢复运行 原理是, 协程 的 主函数 运行 所依赖的 栈(保存了所有的栈变量), 能 保存到堆 和 从堆重新恢复到栈 当协程 挂起运行时, 就会 将所有的 栈变量 拷贝到 堆里 当协程 恢复运行时, 再重新 将变量 从 堆拷贝到栈里 整个过程 由 C++20 来支持(编译时? 运行时?) 所有 的整个 运行过程 与 操作系统的线程 是完全 独立和无关的
linweidong2 个月前
nacos·协程·垃圾收集器·jvm调优·spring ioc·脏读·mysql索引
钉钉Java面经及参考答案TCP 三次握手建立连接的核心目标是双向确认双方发送、接收能力,同步通信序列号,协商初始窗口大小,防止历史过期连接报文干扰新连接。第一次握手,客户端主动向服务端发送 SYN 报文,携带客户端随机生成的初始序列号 ISN,客户端状态变更为 SYN_SENT,目的是告知服务端客户端具备发送数据的能力。第二次握手,服务端收到 SYN 报文后,回复 SYN+ACK 报文,其中 ACK 确认号为客户端 ISN+1,同时携带服务端自身随机初始序列号,服务端进入 SYN_RCVD 状态,代表服务端确认收到客户端报文,且
XiaoLeisj2 个月前
android·kotlin·android jetpack·协程·响应式编程·flow
Kotlin Flow 常用操作符:数据变换 map、filter、onEach,时间控制 debounce、sample,终端聚合 reduce、fold建议先读:先看第 2 节的操作符分组思路和第 3 节的最小实践环境,再按“数据变换 -> 时间控制 -> 终端聚合”的顺序阅读。
XiaoLeisj3 个月前
android·kotlin·android jetpack·协程·flow
Kotlin Flow:冷流收集、并行订阅、emit 推送、delay 延迟、collect 全量收集与 collectLatest 的实时数据处理原文链接:https://blog.csdn.net/guolin_blog/article/details/127466982
帅次4 个月前
android·面试·协程·jetpack·stateflow·lifecycle
Android 高级工程师面试:Jetpack 核心 近1年高频追问 20 题Jetpack 是 Google 官方 Android 架构组件库集合,解决生命周期、数据持久化、后台任务、导航等共性问题。核心包括 Lifecycle、ViewModel、LiveData/Flow、Room、Navigation、WorkManager、DataStore、Hilt 等;按功能分架构、UI、行为、基础四类,统一 Kotlin 优先 API。
JohnnyDeng944 个月前
android·kotlin·mvvm·协程
【Android】ViewModelScope 与协程生命周期管理:告别内存泄漏,掌控异步边界> 一句话收益:彻底理解 viewModelScope、lifecycleScope、repeatOnLifecycle 的边界差异,写出不泄漏、不崩溃的协程代码。
至乐活着5 个月前
python·并发·协程·asyncio·异步编程
Python异步编程asyncio完全指南:从入门到高性能实战在Python开发中,IO密集型任务(如网络请求、文件读写、数据库查询)往往成为性能瓶颈。传统的多线程方案虽然能解决并发问题,却存在全局解释器锁(GIL)限制、上下文切换开销大、调试困难等缺点。自Python 3.4引入asyncio库以来,异步编程逐渐成为主流,它通过单线程事件循环(event loop)实现协作式并发,极大地提升了IO密集型应用的吞吐量。
壮Sir不壮5 个月前
linux·开发语言·golang·go·操作系统·线程·协程
GO语言——GMP调度模型Go 语言的 GMP 模型是实现高并发、轻量级线程(Goroutine)的核心调度算法。M 消耗 CPU 来执行 G 的代码。M 本身不保存 G 的上下文,它只是一个干活的工具人。
消失的旧时光-19435 个月前
开发语言·kotlin·生命周期·rxjava·协程·结构化并发
Kotlin 协程设计思想(十):Kotlin 协程到底解决了什么问题?—— 从 Thread、Future、Callback、RxJava 到 Coroutine,彻底讲透 Kotlin 协程的设计哲学
消失的旧时光-19435 个月前
android·kotlin·协程·协程异常
Kotlin 协程设计思想(九):Flow 到底是什么?为什么 suspend 函数还需要 Flow?—— 从 suspend、Sequence 到 Cold Flow,彻底讲透 Kotlin Flow 的设计哲学
消失的旧时光-19435 个月前
协程·job·supervisorjob
Kotlin 协程设计思想(一):CoroutineContext 到底是什么?为什么 Job 和 Dispatcher 可以直接相加?CoroutineContext 本质上就是一个特殊的 Map写 Kotlin 协程这些年,有一段代码相信大家都写过:
这是谁的博客?5 个月前
java·网络·python·协程·asyncio·异步编程
Python 异步编程核心原理与实践深度解析本文深入剖析 Python asyncio 异步编程的核心原理,从协程底层实现到事件循环调度机制,从 Future/Task 对象到异步生成器,系统性地讲解异步编程的技术要点。结合实战案例,帮助读者理解何时使用异步、如何正确使用异步,避免常见陷阱。