专栏名称: GoCN
最具规模和生命力的 Go 开发者社区
目录
相关文章推荐
CHINADAILY  ·  World丨Pleas for aid ... ·  2 小时前  
CHINADAILY  ·  Business丨Solar power ... ·  2 小时前  
CHINADAILY  ·  太好了,是China ... ·  4 天前  
今天看啥  ›  专栏  ›  GoCN

Go中秘而不宣的数据结构 spmc, 10倍性能于 channel

GoCN  · 公众号  ·  · 2024-10-15 12:11
    

文章预览

Go 标准库和运行中中,有一些专门针对特定场景优化的数据结构,这些数据结构并没有暴露出来, 这个系列 就是逐一介绍这些数据结构。 这一次给大家介绍的就是一个 lock-free、高性能的单生产者多消费者的队列: PoolDequeue 和 PoolChain 。到底是一个还是两个呢?主要是 PoolDequeue , 它是一个固定尺寸,使用 ringbuffer (环形队列) 方式实现的队列。 PoolChain 是在它的基础上上,实现的一个动态尺寸的队列。 生产者消费者模式是常见的一种并发模式,根据生产者的数量和消费者的数量,可以分为四种情况: 单生产者-单消费者模式: spsc 单生产者-多消费者模式: spmc 多生产者-单消费者模式: mpsc 多生产者-多消费者模式: mpmc Channel 基本上可以看做是一种多生产者多消费者模式的队列。可以同时允许多个生产者发送数据,有可以允许多个消费者消费数据,它也 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览