1 Star 0 Fork 0

xzplink / Go-Training

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
main.go 392 Bytes
一键复制 编辑 原始数据 按行查看 历史
yanfeizhang 提交于 2021-10-25 21:09 . feat: add sync
package main
import (
"fmt"
"sync"
)
var (
sum = 0
wg sync.WaitGroup
lock sync.Mutex
)
func Add() {
//如果不加锁会导致两个协程之间覆盖和冲突
//只有使用锁才能得到符合预期的 20000
lock.Lock()
for i := 0; i < 10000; i++ {
sum = sum + 1
}
lock.Unlock()
wg.Done()
}
func main() {
wg.Add(2)
go Add()
go Add()
wg.Wait()
fmt.Println(sum)
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/xzplink/go-training.git
git@gitee.com:xzplink/go-training.git
xzplink
go-training
Go-Training
main

搜索帮助

344bd9b3 5694891 D2dac590 5694891