直接上代码
var wg sync.WaitGroup
wg.Wait()
wg.Add(1)
defer wg.Add(-1)
一开始是这么想的 因为go宣传用csp处理并发所以就想着用协程等待的方法实现,后面感觉如果同事进入wait方法还是有bug的 ,于是开始找cas锁,最后发现go的核心库是有这个并发锁的 愉快的使用了
var lock sync.Mutex
lock.Lock()
defer lock.Unlock()
直接上代码
var wg sync.WaitGroup
wg.Wait()
wg.Add(1)
defer wg.Add(-1)
一开始是这么想的 因为go宣传用csp处理并发所以就想着用协程等待的方法实现,后面感觉如果同事进入wait方法还是有bug的 ,于是开始找cas锁,最后发现go的核心库是有这个并发锁的 愉快的使用了
var lock sync.Mutex
lock.Lock()
defer lock.Unlock()