java同步中Read Lock的目的是什么

时间:2015-07-05 17:05:12

标签: java multithreading concurrency

我是多线程的新手,我很困惑,为什么在java同步中需要读锁。我也理解写锁的用例。在哪种情况下我们需要限制读者对线程的访问。 假设我们在java中没有读锁定,那么问题是什么。

1 个答案:

答案 0 :(得分:1)

假设存在共享资源R.线程T1正在读取它并且它没有被锁定,因为java中没有读锁定(如你所说),同时第二个线程尝试访问R1以对其进行写入。由于没有附加到R1的信息,当前线程正在读取它,第二个线程将获得写锁定并开始写入未被预期的内容。读锁是附加到资源的额外信息,它告诉后来的线程资源已经在访问中进行读取,等待写访问或者只能访问以进行读取。 读锁可以通过多个线程访问。