当前位置: 首页 > news >正文

Boost.asio中的协程队列库

目录
  • 简介
  • 简单使用

简介

本文主要记录一下自己在使用Boost.asio时发现的一个协程队列库boost::asio::experimental::concurrent_channel。发现的路径也很搞笑,我当时需要一个队列库,因为使用的asio,所以想让AI帮忙使用Boost.asio基于协程写一个队列库,但是AI实现的有点差,于是继续让AI优化,结果它自己帮我找到了这个库。

从这个队列库的名字也可以看出,这个库还是在实验中,但是作为玩具项目中使用是没有问题的。

简单使用

auto queue = boost::asio::experimental::concurrent_channel<void(boost::system::error_code, int)>(executor, 5);co_await queue.async_send(boost::system::error_code{}, value);int value = co_await queue.async_receive(asio::use_awaitable);

boost::asio::experimental::concurrent_channel是一个模板,模板参数void(boost::system::error_code, int)void似乎是没有作用的,boost::system:error_code是必须的,int则是队列中的值。当发送时的error_code不为空的时候,接受时会抛出异常。队列也可以存储多个值,如下:

auto queue = boost::asio::experimental::concurrent_channel<void(boost::system::error_code, int, std::string)>(executor, 5);co_await queue.async_send(boost::system::error_code{}, 1, "2");auto [v1, v2] = co_await queue.async_receive(asio::use_awaitable);

构造函数有两个,一个是executor,不必多说;另一个是队列数量的最大值,如果超出这个值,还继续发送,则会陷入等待。

Github Gist: concurrent_channel

http://www.gsyq.cn/news/31143.html

相关文章:

  • 为自己读书
  • 代码大全阅读笔记
  • 博客园od
  • CSP-S模拟392025多校冲刺CSP模拟赛8
  • 【CI130x-离在线】FreeRTOS的信号量
  • 以专注筑基,以实践致远
  • Audacity:开源音频编辑器的完整指南
  • 【CI130x】音频传输的数据结构——FreeRTOS的消息队列
  • 123456789
  • #20232408 2025-2026-1 《网络系统与攻防技术》实验三实验报告 - 20232408
  • 杂记选做 #1
  • 题解:B4205 [常州市赛 2021] 特殊字符
  • 郭念海 - coder
  • 20231326《密码系统设计》第五周预习报告
  • 2025年工业清洗剂厂家推荐排行榜,水洗/水基/碳氢/铝材/超声波/金属/真空/除油/防锈清洗剂源头厂家精选
  • 医疗智能体的工艺演进与路径分析:从多模态大模型到高阶综合智能体
  • 【安卓】
  • 2025 年 10 月系统门窗十大品牌榜单揭晓,技术研发实力与市场口碑全景剖析
  • 大二才懂上课认真听的重要性
  • 【万元奖金】第二届CCF算法能力大赛开始啦!名校云集、名企汇聚,免费参赛!
  • 2025 多校 游记
  • 20232327 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 2025年新风系统厂家权威推荐榜:电竞酒店/商场别墅/极寒地区全热交换新风系统专业解决方案
  • 完整教程:在线教程丨百倍提速,中科院团队发布首个国产类脑脉冲大模型SpikingBrain-1.0,推理效率数量级提升
  • 2025年饮料包装设备厂家权威推荐榜:缠膜机/吹瓶机/膜包机/杀菌机/水处理/套标机/贴标机/洗瓶机/卸垛机/旋盖机/液氮机/装箱机/灌装生产线专业解析
  • 【API接口】最新可用抖音搜索接口
  • 拜耳作物科学提出一种生物学引导的神经网络框架用于基因组选择(GS)
  • DPCformer:一种用于作物基因组预测的可解释深度学习模型
  • android 基于okhttp的socket封装 - 实践
  • 2025 年 10 月门窗十大品牌榜单揭晓,专业制造与安全定制口碑之选