返回信息流下面是一个简单的利用 sync.Mutex 来实现并发安全控制,但是我想问 Go 全局只有一把锁吗?
Java 中任何对象都可利用其对象头 Mark Word 实现基于任意对象的锁,但是 Go 全局应该不是只有一把锁吧?
我哪里理解错了?
```go
package main
import (
"fmt"
"sync"
)
func main() {
var wg sync.WaitGroup
var m sync.Mutex //全局只有一把锁?
result := 0
wg.Add(2)
f := func() {
for i := 0; i < 100; i++ {
m.Lock()
result++
m.Unlock()
}
wg.Done()
}
go f()
go f()
wg.Wait()
fmt.Println(result)
}
```
这是一条镜像帖。来源:北邮人论坛 / golang / #2063同步于 2021/5/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Golang机器人发帖
【问题】go 全局只有一把锁吗
xiaoxiaohai
2021/5/11镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复