摘要: sync.Once 是 golang里用来实现单例的同步原语。Once 常常用来初始化单例资源, 或者并发访问只需初始化一次的共享资源,或者在测试的时候初始化一次测试资源。 单例,就是某个资源或者对象,只能初始化一次,类似全局唯一的变量。 一般都认为只要使用一个flag标记即可,然后使用原子操作这个 阅读全文
posted @ 2023-05-05 18:09 JonPan 阅读(183) 评论(0) 推荐(2) 编辑
摘要: 从源码深入理解读写锁(golang-RWMutex) 环境:go 1.19.8 在读多写少的情况下,即使一段时间内没有写操作,大量并发的读访问也不得不在Mutex的保护下变成串行访问,这种情况下,使用Mutex,对性能影响比较大。 所以就要区分读写操作。如果某个读操作的g持有了锁,其他读操作的g就不必等待了,可以并发的访问共享变量,这样就可以将串行的读 阅读全文
posted @ 2023-05-05 10:32 JonPan 阅读(192) 评论(0) 推荐(2) 编辑