跳到主要内容

数据结构

本章介绍 LibXR 中用于任务调度、数据通信、资源管理等场景的通用数据结构。

特点​

  • 接口与平台无关。
  • 容量在构造时确定。SPSCQueue、MPMCQueue、Stack 在构造时分配内部存储;Queue、ObjectPool 可使用调用方提供的存储,DoubleBuffer 只使用调用方提供的存储;List、LockFreeList、RBTree 的节点由调用方持有。构造之后的读写不再分配内存。
  • Stack、List、RBTree 使用互斥锁,不能在中断中使用;SPSCQueue、LockFreeList 为无锁结构;MPMCQueue 支持多生产者多消费者并发访问。

目录​

更多使用方式、性能差异与适用场景见各页面。