一.什么场景下需要用到锁当程序中就一个线程的时候,是不需要加锁的,但是通常实际的代码不会只是单线程,有可能是多个线程同时访问公共资源,所以这个时候就需要用到锁了,那么关于锁的使用场景主要涉及到哪些呢? 1. 多个线程在读相同的数据时2. 多个线程在写相同的数据时3. 同一个资源,有读又有写时 二.Go中锁分为两种:互斥锁 (sync.Mutex)读写锁 (sync.RWMutex 底层依赖Mutex实现 )互斥锁是并发程序对公共资源访问限制最常见的方式.在Go中,sync.Mutex 提供了互斥…