https://github.com/golang/go/issues/30657从标题就能看出他遇到了和我一样的问题:
Read-locking shouldn't hang if thread has already a write-lock? #30657看看里面有人是怎么回答的:
如果一个协程持有读锁,另一个协程可能会调用Lock加写锁,那么再也没有一个协程可以获得读锁,直到前一个读锁释放,这是为了禁止读锁递归。也确保了锁最终可用,一个阻塞的写锁调用会将新的读锁排除在外。不过这个警示实在是太不起眼了,大概就是这个效果:
搜索关注微信公众号"捉虫大师",后端技术分享,架构设计、性能优化、源码阅读、问题排查、踩坑实践。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |