course/sync/mutex.go

30 lines
283 B
Go
Raw Normal View History

2024-07-08 21:07:58 +08:00
package main
import (
"fmt"
"sync"
)
// 互斥锁
var x = 0
var wg sync.WaitGroup
var lock sync.Mutex
func add() {
for i := 0; i < 5000; i++ {
lock.Lock()
x = x + 1
lock.Unlock()
}
wg.Done()
}
func main() {
wg.Add(2)
go add()
go add()
wg.Wait()
fmt.Println(x)
}