企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
> ### 为什么需要锁? * 数据被多个协程共享时, 很有可以产生争用和冲突. 这种情况也被称为竞态条件这往往会破坏共享数据的一致性 ~~~ package main import ( "time" "fmt" ) var number int func main() { go func() { for i := 0; i < 10000; i++ { number++ } }() go func() { for i := 0; i < 10000; i++ { number++ } }() go func() { for i := 0; i < 10000; i++ { number++ } }() time.Sleep(time.Second * 3) fmt.Println(number) //打印结果少于30000 } ~~~ > ### 相关阅读 * [5个步骤,教你瞬间明白线程和线程安全](https://my.oschina.net/u/3178270/blog/1982447)