Golang教程网
博客首页
实战学习Golang
日常工作实战
小程序实战开发
微信小程序开发
百度智能小程序开发
QQ小程序开发
头条小程序开发
支付宝小程序开发
学习笔记
搜索
搜索
不懂就问, Golang 带阻塞的高性能队列最佳实践是啥?
学习笔记
2022-12-16
125°
像 Map 类型,可以无脑加锁实现共享数据,也可以直接用 sync.Map 来实现,前者在数据规模增大时性能会陡降,后者性能则平滑稳定,和一般语言一样,相同的需求,优先选择标准库里有的一般都是最佳的。
可是对于队列来说,不管是 fifo 队列,还是栈和堆,在标准库里好像并没有并发的实现,无脑加锁倒是可以,参考 sync.Map 源码写一个理论上也不是不行,但有没有更优或更简洁的实现方法呢,最好是满足定容队列满了 put 方法和队列为空时 get 方法都自带阻塞的。
相关链接
Golang pipline的最佳实践
从入职到最佳实践,这套 Golang 干货资料绝了!|极客时间
在GoLang中构造空数组的最佳实践?
Golang 使用os 库的 ReadFile() 读文件最佳实践
使用Golang创建RESTful API的最佳实践案例
京东三级列表页持续架构优化—Golang+Lua(OpenResty)最佳实践