首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
学习
订阅
加油的小鸟
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
我该怎么等你: sync.WaitGroup
你们(子协程)都在干活,我(主程序)该怎么等你们呀? 是我先休息一会儿还是基于channel的通信机制呢?还是...有其他的方式呢?
结构体转换怎么才算优雅
在不同的包下定义了一些结构体 其所有字段都相同(内存布局完全一致),但是他们却属于不同的结构体 所以经常需要在这些结构体之间来回转换,有哪些实现思路?
听说map删除元素占用竟然不会减少?
map底层实现是什么? map什么情况下会扩容,扩容原理是什么? map为什么有时候会报并发读写错误? 未初始化的map读取会发生什么? map遍历顺序为什么是随机的? map删除元素 内存占用会变吗
防缓存击穿神器: singleflight
当某个热 key 缓存失效时, 会有大量的请求直接请求mysql导致缓存击穿。这种问题应该如何缓解呢? 防缓存击穿神器: singleflight便派上用场啦~~
必知必会系列-sync.RWMutex
优化读多写少的场景 读锁请求无需获取互斥锁 采用FIFO的设计思想,一旦有写者尝试获取锁,后续的写者和读者都会被阻塞,防止写锁饥饿 使用信号量实现阻塞与唤醒语义
必知必会系列-Channel
不要通过共享内存来通信,而是要通过通信来实现共享内存。通过通道发送和接收数据可以解耦消费者和生产者。
go原来还可以这么玩?
每天一个go优化小知识,每天进步一点点~ 1. 非指针区域GC不扫描 2. padding的方式避免false sharing 3. ...
结构体中interface类型字段如何正确赋值?
结构体中interface类型字段如何正确赋值? 是利用RawMessage实现延迟赋值还是...?
必知必会系列-sync.Map
通过学习sync.Map的实现,可以学习以下性能优化的方向和技巧 1. 成本分摊: 将一个明确的内存拷贝成本 变成 后续调用可能触发的内存拷贝成本 2. 针对读多写少的场景,优化读取性能(尽量无锁化)
必知必会系列-sync.Pool
通过学习sync.Pool的实现,可以学习下到很多性能优化的方向和技巧: 比如避免如何伪共享,如何降低并发冲突概率