golang使用channel实现读写锁
package mainimport ("fmt""sync""time"
)// RWLock 实现一个简单的读写锁
type RWLock struct {readerCount int // 当前正在读取的读者数量writerCount int // 当前正在写的写者数量readerChan chan struct{} // 用于控制读者的chan
package mainimport ("fmt""sync""time"
)// RWLock 实现一个简单的读写锁
type RWLock struct {readerCount int // 当前正在读取的读者数量writerCount int // 当前正在写的写者数量readerChan chan struct{} // 用于控制读者的chan