
C++的协程
文章平均质量分 96
charlie114514191
我是一个普通的嵌入式软件程序员,喜欢研究Linux(应用层跟内核从都有粗浅的涉略),单片机,操作系统和计算机体系架构等内容,目前是一枚普通的本科生。
笔者是一个朴素的开源主义者,我坚信代码和知识没有壁垒,也不应该有壁垒所在,任何人都应该平等的获取到所有的知识。笔者力所能及的将自己的代码项目开源到Github
笔者的github:https://github.com/Charliechen114514
笔者的私人博客(旧):https://charliechen114514.github.io/
笔者的私人博客(新):https://www.charliechen114514.tech/
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
理解C++20的革命特性——协程引用之——利用协程做一个迷你的Echo Server
本文介绍了如何利用C++20协程特性构建一个简易的Echo Server。首先通过Boost ASIO的协程实现展示了一个TCP回显服务器的示例代码,重点解读了awaitable、use_awaitable等关键概念。然后提出基于原生Socket编程和自定义协程框架的实现方案,需要整合Epoll事件驱动机制。文章指出当前调度器缺少事件触发功能的不足,建议通过引入IOManager来桥接Epoll事件和协程调度,将IO就绪事件转化为可触发的协程任务。最终目标是构建一个能够监听IO事件并调度对应协程的完整异步服原创 2025-10-06 11:24:21 · 670 阅读 · 0 评论 -
理解C++20的革命特性——协程支持2:编写简单的协程调度器
本文介绍了C++20协程的基本实现方法,重点讲解了如何编写一个简单的协程调度器。文章首先要求读者实现一个能返回值的Task<T>模板类,并通过co_add示例展示协程的基本用法。随后,文章指导读者实现一个单线程调度器,包括单例模式模板、睡眠等待器和三个协程交替输出的测试案例。代码示例详细展示了协程生命周期管理、返回值传递等关键实现细节,为读者理解C++20协程机制提供了实践基础。原创 2025-10-05 10:58:54 · 647 阅读 · 0 评论 -
理解C++20的革命特性——协程支持1
C++20协程摘要(149字): C++20引入协程支持,通过co_await、co_yield、co_return实现轻量级协作式调度。协程函数必须返回包含promise_type的结构体,该类型需实现5个核心接口(get_return_object、initial_suspend等)来控制协程生命周期。若使用co_yield还需实现yield_value。协程调度通过实现Awaitable接口(含await_ready等3个方法)来控制挂起/恢复行为。这种无栈协程机制相比线程切换开销更低,适合高并发I/原创 2025-10-04 20:17:16 · 984 阅读 · 0 评论