小红花·文摘
  • 首页
  • AI Tokens🪙
  • 排行榜🏆
  • 直播
  • FAQ

尽管C++20的协程表现最佳,但并非总是可用。可以选择回调或有栈协程。asio库支持多种协程模式,但存在局限性。uasync库提供基于ucontext的超简协程,展示了proactor与有栈协程的结合。代码可读性对比显示有栈与无栈协程在使用上几乎无差异。

基于 ucontext + iocp4linux 的超简协程库

菜菜博士 菜菜博士 · 2024-12-15T00:00:00Z

本文讨论了Linux信号传递的底层机制,包括上下文、pt_regs和栈的使用。关键结构体有ucontext、sigcontext和task_struct,重要源代码位置包括signal.c和sched.h,重点分析了信号框架及处理器特定结构。

值得关注的地方

shrik3 shrik3 · 2024-05-06T12:47:09Z

本文讨论了在macOS上使用ucontext实现协程时遇到的bug。ucontext是C语言中用于控制函数调用上下文的函数集合,尽管已被POSIX标准移除,但仍在许多操作系统中可用。文章分析了macOS上swapcontext的实现,指出了导致死循环的原因,并提供了修复方案。通过调试和阅读汇编语言,作者深入理解了协程的实现机制。

cloudwu/coroutine 在 macOS 上的 bug

Yi's blog Yi's blog · 2020-02-18T05:20:00Z

前言 之前写了 《协程框架(libcopp)v2优化、自适应栈池和同类库的Benchmark对比》 和 《C++20 Coroutine》 ,但是一直没写 C++20 Coroutine 的测试报告。 现在的草案版本比我当时写 《C++20 Coroutine》 的时候有了一点点更新,cppreference...

C++20 Coroutine 性能测试 (附带和libcopp/libco/libgo/goroutine/linux ucontext对比)

I'm OWenT I'm OWenT · 2019-10-05T14:52:00Z
  • <<
  • <
  • 1 (current)
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码