coroutine

goodcitizen5 天前
iocp·coroutine·cpp20
基于 IOCP 的协程调度器——零基础深入浅出 C++20 协程上一篇《基于 epoll 的协程调度器》谈到如何基于 epoll 构建一个事件驱动的协程调度器,没有使用三方库的原因主要是为了避免引入额外复杂度,不过只演示 Linux 未免对非 Unix 平台的小伙伴有所不公,为此本文基于 Windows 的完成端口 (IO Completion Port:IOCP) 构建相同能力的 demo。
XeonYu17 天前
kotlin·coroutine·channelflow·callbackflow·receiveasflow·consumeasflow
Kotlin 协程之 突破 Flow 限制:Channel 与 Flow 的结合之道上一篇文章介绍了 Flow 的基本概念和使用,也知道了Flow 强调单一执行流与上下文一致性,不允许跨协程并发 emit。
XeonYu17 天前
kotlin·flow·coroutine
Kotlin 协程之 Flow 的理解使用及源码解析在前面的文章中,我们已经讨论了 Channel 的概念和基本使用以及 Channel 的高阶应用。这篇我们来看日常开发中更常用的Flow。
XeonYu1 个月前
kotlin·协程·channel·coroutine·scope.produce·scope.actor
Kotlin 协程之Channel 的高阶应用了解了 Channel 的基础概念和基本使用 后,我们再来看一看 Channel 的特性以及高阶应用。
goodcitizen1 个月前
epoll·coroutine·cpp20·signalfd
基于 epoll 的协程调度器——零基础深入浅出 C++20 协程上一篇《没有调度器的协程不是好协程》谈到协程如何自动运行,然而那个例子里的调度器还是不太自然,考查一下真实场景,挂起的协程一般是在等待异步事件的完成,如果异步事件没完成就轮到自己执行,它其实还是无法继续,相当于一次无效唤醒。所以这一篇准备引入异步事件,看看在真实的场景下,调度器是如何运作的。
goodcitizen2 个月前
coroutine·cpp20
没有调度器的协程不是好协程——零基础深入浅出 C++20 协程上一篇《协程本质是函数加状态机》谈到 C++20 协程的本质,是编译器基于 duff device 的精巧封装,经过一番乾坤大挪移,协程体内容被掉包只保留协程初始化代码,实际运行代码被包裹在编译器自动生成的 resume 函数中,这一点通过 C++ Insights 在线工具观察的一清二楚。
goodcitizen3 个月前
coroutine·cpp20
协程本质是函数加状态机——零基础深入浅出 C++20 协程之前写过一篇 C++20 协程入门的文章:《使用 C++ 20 协程降低异步网络编程复杂度》,谈到了协程在消除异步编程 callback hell 方面的重要贡献——使代码更清晰,易于维护;以及 C++20 协程具有无栈、非对称等特性。无栈协程具有不受预分配栈空间约束、切换类似函数开销更小的优点,符合 C++ 语言设计原则中的 no payload 理念 (不因新增加的语言特性而增加额外性能负担);非对称表示协程控制权的转移是单向的,即通过 co_await/co_yield 挂起时,必需返回到调用者最初
goodcitizen4 个月前
coroutine·cpp20
使用 C++ 20 协程降低异步网络编程复杂度上面就将一个协程函数 fn 进行切分后变成一个Struct,这样的实现相对于有栈协程而言使用的内存更少。当然上面只是一种演示,对应早期的 reenter 用法,这个宏底层通过 switch-case 将函数拆分成多个可重入点,一般也称为 duff device。
氦客5 个月前
android·开发语言·kotlin·协程·coroutine·suspend·functions
kotlin知识体系(五) :Android 协程全解析,从作用域到异常处理的全面指南协程(Coroutine)是轻量级的线程,支持挂起和恢复,从而避免阻塞线程。协程通过结构化并发和简洁的语法,显著提升了异步编程的效率与代码质量。
bbqz0077 个月前
c++·c++20·协程·coroutine·co_await·co_yield·cppcoro·co_return
浅说 c++20 cppcoro (三)浅说 c++20 cppcoro (三),https://www.cnblogs.com/bbqzsl/p/18679860
bbqz0078 个月前
c++·c++20·协程·coroutine·co_await·stackless
浅说 c++20 coroutine浅说cppcoro上一篇《浅说c/c++ coroutine》介绍了stackful协程,举了win32 Fiber跟tencent/libco为例。
bbqz0079 个月前
c++·协程·移植·epoll·coroutine·libco·网络事件库·wepoll
浅说c/c++ coroutine浅说c/c++ coroutine从上面我们可以得到关于协程的几个关键信息,1.打破传统(regular)函数调用的限制。
键盘会跳舞9 个月前
lua·协程·coroutine
Lua : Coroutine(协程)Lua 协程(coroutines)是一种强大的控制结构,允许函数在执行过程中暂停并在稍后恢复。与线程不同,协程是非抢占式的,这意味着它们不会被操作系统调度,而是由程序显式地切换。协程在 Lua 中非常有用,尤其是在需要处理异步任务或实现生成器模式时。
命运之手1 年前
python·kotlin·generator·coroutine
【Coroutines】Implement Python Generator by Kotlin Coroutinesa generator object that can generate sequence objects
命运之手1 年前
android·kotlin·coroutine·deep-understand
【Coroutines】Deep and Deep Into Kotlin Coroutinescoroutine framwork consist of two partsin this chapter, we will talk about the first part, that is, how coroutines really work at underlying level
命运之手1 年前
kotlin·coroutine·lua-style
【Coroutines】Implement Lua Coroutine by Kotlin - 1we will achieve a lua-like coroutine frameworkfurther more, we will learn couroutine design theroy on these sides
命运之手1 年前
kotlin·coroutine·lua-style
【Coroutines】Implement Lua Coroutine by Kotlin - 2Last Chapter Linkin last blog, we have talked about how to implement lua-style coroutine
XeonYu1 年前
kotlin·协程·coroutine·到底什么是协程
kotlin协程之 协程概念的具像化在最开始 协程初探 的文章中,我们已经把协程的基本概念给出了定义:kotlin 协程跟Java线程概念类似,都是用来管理并发的工具。它的底层是使用Java线程实现的,并基于线程封装了一套 API 给我们使用,让我们能够更容易的管理并发任务。
HONT1 年前
协程·coroutine
扩展实现Unity协程的完整栈跟踪现如今Unity中的协程(Coroutine)方案已显得老旧,Unitask等异步方案可以直接解决如异常捕获等各类问题,
fananchong21 年前
开发语言·lua·协程·协程池·coroutine
Lua 协程池在 使用 Lua 协程模拟 Golang 的 go defer 编程模式 中介绍了 Lua 协程的使用,模仿 golang 封装了下