s_ring_buffer开源ring_buffer库

📅 2026/7/29 17:16:01
s_ring_buffer开源ring_buffer库
s_ring_buffer库是一个采用MIT License协议开源的、小巧的、纯C语言的、ring_buffer实现读写锁分离设计核心实现代码平台无关抽出了平台相关的适配层, 可以方便的进行移植、使用。仓库地址GitHub - smallerxuan/s_ring_buffer: s_ring_buffer是一个小巧的有锁环形缓冲区实现读写锁分离性能更强劲。支持多读、多写同时操作支持动态指定元素池构造器与元素池析构器和静态不指定元素池构造器与元素池析构器创建环形缓冲区的元素池指定元素大小可以操作指定大小的元素对象(单位byte)如char、int、long、bool、struct、point等。 · GitHubs_ring_buffer用户接口s_ring_buffer包含如下用户接口1、构造器接口 s_ring_buffer_constructor()2、析构器接口 s_ring_buffer_destructor()3、清除接口 s_ring_buffer_clear()4、元素写入接口s_ring_buffer_write_elements()5、元素读取接口 s_ring_buffer_read_elements()6、容量获取接口 s_ring_buffer_cap_get()7、可读元素数量获取接口 s_ring_buffer_could_read_num_get()7、可写元素数量获取接口 s_ring_buffer_could_write_num_get()s_ring_buffer的移植、适配s_ring_buffer源码中的 s_ring_buffer_platform.h、s_ring_buffer_platform.c文件包含了s_ring_buffer的平台相关 数据类型、宏、抽象接口主要包括内存操作相关宏s_ring_buff_malloc、s_ring_buff_free、s_ring_buff_memcpy2、休眠相关宏 s_ring_buff_sleep3、锁类型定义 s_ring_buffer_lock_t4、锁操作相关接口s_ring_buffer_lock()、s_ring_buffer_trylock()、s_ring_buffer_unlock()用户在移植、适配时只需要对上述内容进行适配、实现便能方便的在任意平台使用。