首页 > 代码库 > go 锁 速度 chan 和 mutex的比较
go 锁 速度 chan 和 mutex的比较
package mainimport ( "fmt" "sync" "time")func main() { start := time.Now() mu := sync.Mutex{} for i := 0; i < 1000000; { mu.Lock() i++ mu.Unlock() } fmt.Println(time.Since(start)) start = time.Now() ch := make(chan *bool, 1) for i := 0; i < 1000000; { ch <- nil i++ <-ch } fmt.Println(time.Since(start))}
曾经听老师说过mutex是比较重量级的锁,channal是轻量级的,所以上锁时最好用channal替代mutex,但试了一下发现mutex比channal快了几倍
go 锁 速度 chan 和 mutex的比较
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。