## Mutex * 保证同一时间段内 有且仅有一个goroutine持有锁,其他申请锁的goroutine将会被阻塞直到锁释放 ~~~ var lock sync.Mutex lock.Lock() lock.Unlock() ~~~ ![](https://img.kancloud.cn/bd/f9/bdf98d96fb3e2becdb5fc312dd26a1dd_696x468.png) * 下图跑的结果是 方法1在57s加锁 58s解锁 方法2 58s加锁 59s解锁 (保证同一时间段内 有且仅有一个goroutine持有锁,其他申请锁的goroutine将会被阻塞直到锁释放) ![](https://img.kancloud.cn/24/c4/24c48a453c04e4f278b69d0955416c05_914x200.png)