所以我有这样一种情况,可能有很多读取操作,但只偶尔对多个线程共享的资源进行写入。
很久以前,我了解了ReaderWriterLock,并阅读了关于
从文档中,我相信在任何时候只能有一个线程处于“可升级模式”。在我仅使用
以下是摘录:
很久以前,我了解了ReaderWriterLock,并阅读了关于
ReaderWriterGate
的文章,它试图缓解许多写操作优先于读操作并影响性能的问题。然而,现在我意识到ReaderWriterLockSlim
...从文档中,我相信在任何时候只能有一个线程处于“可升级模式”。在我仅使用
EnterUpgradeableReadLock()
(适用于我的场景)的情况下,是否与坚持使用lock(){}
没有太大区别?以下是摘录:
如果已经有一个线程处于可升级模式、有线程在等待进入写模式或者有一个线程处于写模式,那么试图进入可升级模式的线程会被阻塞。
另外,递归策略对此有影响吗?