ReadWriteLock读写锁

我们知道,通过Java的synchronized关键字获得的锁是排他锁,当一个线程获得对象的排他锁,不管该线程执行的是读操作还是写操作,其他线程都只能等待直到对象锁被释放。然而,考虑这样一种情况,当有多个线程读取一个共享资源而只有一个线程对共享资源发生修改操作,对于读操作我们就没必要使用排他锁,我们可以使用共享锁,使得执行读操作的线程可以共享对象锁,并发地进行读取。只有写操作发生时,线…

more >>