💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
## Mutex Mutex 用于提供一种加锁机制(Locking Mechanism),可确保在某时刻只有一个协程在临界区运行,以防止出现竞态条件 ~~~ func LockConcurrent(){ var lock sync.Mutex counter := 0 for i := 0; i < 5000; i++ { go func() { defer func() { lock.Unlock() }() lock.Lock() counter += 1; }() } time.Sleep(1* time.Second) fmt.Println("counter:", counter) } ~~~ *注意:传递 Mutex 的地址很重要,如果传递的是Mutex的值,而非地址那么每个协程都会得到 Mutex 的一份拷贝,竞态条件还是会发生*