2020年3月2日

go语言标准库sync/atomic中的原子操作

摘要: 原子操作吧其他同步技术更底层。他们没有锁,基本是在硬件层面实现的。事实上,他们经常被用来实现其他同步技术。 请注意,下面的许多例子并发并发编程。他们仅用于来展示如何使用标准库中的sync/atomic包中的原子函数。 go语言中的原子操作概览 标准库中的sync/atomic对整数类型T(包含int 阅读全文

posted @ 2020-03-02 18:19 ExplorerMan 阅读(510) 评论(0) 推荐(0)

理解 Go 标准库中的 atomic.Value 类型

摘要: 在 Go 语言标准库中,sync/atomic包将底层硬件提供的原子操作封装成了 Go 的函数。但这些操作只支持几种基本数据类型,因此为了扩大原子操作的适用范围,Go 语言在 1.4 版本的时候向sync/atomic包中添加了一个新的类型Value。此类型的值相当于一个容器,可以被用来“原子地"存 阅读全文

posted @ 2020-03-02 17:56 ExplorerMan 阅读(1065) 评论(0) 推荐(0)

go-redis 源码分析:连接池

摘要: 笔者最近在项目中基于 go-redis 实现 Redis 缓存优化性能。go-redis 是一个 Go 语言实现的 Redis 客户端,既然是网络服务的客户端,为了高效利用有限资源,避免重复创建和销毁网络连接,就必需对其进行管理。而资源管理又是编程领域中的一个重点难点,抱着对是否能利用 Go 语言语 阅读全文

posted @ 2020-03-02 17:33 ExplorerMan 阅读(1785) 评论(0) 推荐(0)

golang 中 sync.Mutex 和 sync.RWMutex

摘要: 介绍 golang 中的 sync 包实现了两种锁: Mutex:互斥锁 RWMutex:读写锁,RWMutex 基于 Mutex 实现 Mutex(互斥锁) Mutex 为互斥锁,Lock() 加锁,Unlock() 解锁 在一个 goroutine 获得 Mutex 后,其他 goroutine 阅读全文

posted @ 2020-03-02 17:24 ExplorerMan 阅读(471) 评论(0) 推荐(0)

导航