- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,我在阅读有关.NET中同步的信息,好奇心触动了我。当您有多个对象对同一数据进行读取时,应使用ReaderWriterLock.AcquireReaderLock
来确保没有其他对象在有锁的情况下修改数据。
现在...如果我确定没有对象会修改数据(至少在读取数据时),那么获取ReaderLock
有意义吗?还是建议使用?为什么?
最佳答案
从理论上讲,如果您100%肯定读者在读取数据时什么也不会修改数据,那么不,没有必要获得读者锁。读取器锁用于防止写入器在读取数据时修改数据,但仍允许多个读取器同时访问该数据。
根据the MSDN documentation:
ReaderWriterLock is used to synchronize access to a resource. At any given time, it allows either concurrent read access for multiple threads, or write access for a single thread.
关于.net - 使用ReaderWriterLock.AcquireReaderLock吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6448836/
这对我来说似乎很吵。五行开销太多了。 m_Lock.EnterReadLock() Try Return m_List.Count Finally m_Lock.ExitReadLoc
我有一个静态类,它被多个远程处理和其他应用程序线程内部访问。此类的部分功能是控制对各种文件的读/写访问,因此我在文件列表上实现了静态 ReaderWriterLock。该项目使用 .net 框架 2.
请解释主要区别是什么以及我应该在什么时候使用什么。 专注于 Web 多线程应用程序。 最佳答案 lock同一时间只允许一个线程执行代码。 ReaderWriterLock可能允许多个线程同时读取或独占
我在编写单元测试时偶然发现了 ReaderWriterLock 的一个非常奇怪的问题。我尝试将超时选项设置为 50 毫秒来测试 UpgradeToWriterLock 方法。 在主线程上,我获取读者锁
我们有针对 .NET 2.0 RTM 的项目(是的,应该是 .NET 2.0 RTM,我们有一些正统的客户)。我只是想知道 ReaderWriterLock 的缺点是什么?为什么每个人都告诉“不要使用
这是一个理论问题;我没有要解决的实际问题,我只想了解其工作方式背后的原因。 我发现,如果一个线程没有退出 ReaderWriterLock,那么即使在原始线程终止后,其他线程也无法获取锁。拥有锁的线程
我有一个 adopted为 Silverlight 实现一个简单的(无升级或超时)ReaderWriterLock,我想知道任何具有适当专业知识的人都可以验证它的设计是好是坏。对我来说它看起来很不错,
我有一个 WCF 服务,其中 InstanceContextMode 是 Single,ConcurrencyMode 是 Multiple。目的是在实例化时创建值缓存,而不阻止不依赖缓存创建的其他服
我的应用程序有几个异步方法可以访问磁盘上的文件。当我了解到在这种情况下不能使用普通的 ReaderWriterLockSlim 时,我开始寻找等效的。找到看起来很有前途的 ConcurrentExcl
由于性能问题,我更换了ReaderWriterLock与 ReaderWriterLockSlim .我遇到了问题,这些问题是由使用 RWL 时正常运行的代码引起的。 如您所见,有时MethodA(获
我有一个由于死锁而挂起的 .Net 进程的转储(gui 线程不再响应,并且我的日志显示某些线程已停止响应)。我拍了一张快照,现在正在windbg中查看它,所有线程都在等待最后一个。用 !clrstac
.net 4.0 添加了几个与线程相关的新类:ManualResetEventSlim , SemaphoreSlim和 ReaderWriterLockSlim . Slim 版本和旧类之间有什么区
我是一名优秀的程序员,十分优秀!