摘要: sync.Pool会先查看自己是否有资源,有则直接返回,没有则创建一个新的,在GC的时候释放缓存的资源 使用sync.Pool是为了复用内存,减少内存分配,减轻GC压力,减少CPU资源 实现类似功能的Pool最简单的方案就是用队列,而且是并发安全的队列。 队头取,队尾放回去、在队列为空的时候创建一个 阅读全文
posted @ 2023-10-07 17:00 柒染丨 阅读(52) 评论(0) 推荐(0)
摘要: Mutex可以看做是锁,RWMutex则是读写锁 使用锁时优先使用RWMutex RWMutex:核心就是四个方法,RLock、RUnlock、Lock、UnlockMutex:Lock 和 Unlock double-check就是加读锁先检查一遍,释放读锁,加写锁,再检查一遍 锁的实现一般是依赖 阅读全文
posted @ 2023-10-07 16:37 柒染丨 阅读(83) 评论(0) 推荐(0)
摘要: 初始化一个context如果确定是开头则用Background,如果不确定则用ToDo context包核心API有四个1.context.WithValue 设置键值对,并且返回一个新的context实例 2.context.WithCancel 3.context.WithDeadline 4. 阅读全文
posted @ 2023-10-07 16:13 柒染丨 阅读(34) 评论(0) 推荐(0)