
go
文章平均质量分 71
codragon
这个作者很懒,什么都没留下…
展开
-
Go 中锁的使用
Go 中锁的使用 Go中锁分为两种: 互斥锁 读写锁 互斥锁 并发程序对公共资源访问的限制最常见的就是使用互斥锁的方式。在Go中,sync.Mutex 提供了互斥锁的实现。 简单使用示例: func main() { var mutex sync.Mutex count := 0 for r := 0; r < 50; r++ { go func() { mutex.Lock() count += 1 mutex.Unloc原创 2021-01-12 14:59:21 · 2774 阅读 · 0 评论 -
golang 原子操作
golang 原子操作 原文: http://ifeve.com/go-concurrency-atomic/ 1. 什么是原子操作 我们已经知道,原子操作即是进行过程中不能被中断的操作。也就是说,针对某个值的原子操作在被进行的过程当中,CPU绝不会再去进行其它的针对该值的操作。无论这些其它的操作是否为原子操作都会是这样。为了实现这样的严谨性,原子操作仅会由一个独立的CPU指令代表和完成。只有这样才能够在并发环境下保证原子操作的绝对安全。 Go语言提供的原子操作都是非侵入式的。它们由标准库代码包sync/a转载 2021-01-12 14:46:23 · 2048 阅读 · 0 评论