读写锁 ReadWriteLock 获取锁有哪些规则?_读锁获取-CSDN博客

网站介绍:文章浏览阅读279次。在没有读写锁之前,我们假设使用普通的 ReentrantLock,那么虽然我们保证了线程安全,但是也浪费了一定的资源,因为如果多个读操作同时进行,其实并没有线程安全问题,我们可以允许让多个读操作并行,以便提高程序效率。但是写操作不是线程安全的,如果多个线程同时写,或者在写的同时进行读操作,便会造成线程安全问题。我们的读写锁就解决了这样的问题,它设定了一套规则,既可以保证多个线程同时读的效率,同时又可以保证有写入操作时的线程安全。整体思路是它有两把锁,第 1 把锁是写锁,获得写锁之后,既可以读数据又可以_读锁获取