2

甲骨文

读写锁是否会比使用互斥锁提高性能取决于数据被读取与修改相比的频率、读写操作的持续时间以及数据的争用——即即,将尝试同时读取或写入数据的线程数。

作为初学者,我需要有人帮助我清除一些东西。引号中的文本是有道理的,因为通常为什么我们希望一个阅读器线程等待另一个阅读器线程?这样,使用ReadWriteLock,我们可以在阅读器中实现并发,而不是在每个线程之间完全互斥。

所以我想,为什么不总是使用ReadWriteLock而不是conventional锁呢?无论我的读者是否很少,都可能出现两个读者同时尝试访问共享资源的情况。但这听起来太容易了,而且为什么这些规则会告诉我什么时候选择ReadWrite

有人能告诉我我错过了什么吗?在我看来,我总是更喜欢ReadWrite反对conventional锁,因为尽管可能会有很少的读者/不长的操作/很少的线程争用,但仍然可能会出现这样一种情况,即我可以从读者的“少量给定并发”中获利。

4

0 回答 0