作者回复: 这是对作者很高的褒奖,谢谢。此留言应该置顶啊
作者回复: 现在版本的go运行时过于智能了,会把这个场景“误报”成死锁,其实我们的本意是让程序hang在这里。 可以改成sleep,waitgroup或者从命令行读取数据等的方式阻塞主goroutine
作者回复: 第一个问题 对。第二个问题太过笼统所以没法回答,当然文章中已经介绍读写锁的功能,适合写少读多的场景
作者回复: 在readers已占有锁的情况下,后续只要有writer存在,会优先writer执行锁,后续的reader需要writer释放锁才可以获取
作者回复: 对
作者回复: 👍🏻😁是的, 改成n=1
作者回复: 在同一个goroutine中,先调用读锁,再调用写锁,会导致死锁
作者回复: processon
作者回复: 很好的发现,你说的对
作者回复: 嗯,这个例子不太好,应该用两个writer更好理解