【发布时间】:2019-10-25 19:28:03
【问题描述】:
我正在学习更多关于 C# 中的线程。我只是不明白为什么我要关心“进入”或“退出”一个 ReadLock,而它实际上并没有做任何锁定?
【问题讨论】:
-
我对这个问题感到困惑。进入读锁要么获取锁,要么阻塞,直到可以获取;你能说说为什么你认为进入读锁既不取锁也不阻塞?
-
如果不进一步了解你的困惑的根源,你将很难摆脱你所拥有的任何错误信念。
-
我以为永远不会有任何“阻塞”。但艾米的回答已经说明了这一点。
-
如果读锁不可用——因为写锁被占用了——然后读者阻塞直到读锁可用。如果读锁被占用,那么这会阻止写入者获得写锁。
标签: c# multithreading c#-4.0