本文主要是介绍ReadWriteLock是什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ReadWriteLock是什么?
1.当读写问题出现时,需要对读写权限进行管理
2.读写锁分为读锁和写锁,上读锁时允许多个用户进行读操作,上写锁时,只允许一个用户进行写操作。
3.发生阻塞的三种情况
读写锁的三种状态:
a.当读写锁是写加锁状态时,在这个锁被解锁之前,所有试图对这个锁加锁的线程都会被阻塞
b.当读写锁在读加锁状态时,所有试图以读模式对它进行加锁的线程都可以得到访问权,但是以写模式对它进行加锁的线程将会被阻塞
c.当读写锁在读模式的锁状态时,如果有另外的线程试图以写模式加锁,读写锁通常会阻塞随后的读模式锁的请求,这样可以避免读模式锁长期占用,而等待的写模式锁请求则长期阻塞。
读写锁最适用于对数据结构的读操作次数多于写操作的场合,因为,读模式锁定时可以共享,而写模式锁定时只能某个线程独占资源,因而,读写锁也可以叫做个共享-独占锁。
这篇关于ReadWriteLock是什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!