Java中ReentrantReadWriteLock类的使用

这篇文章主要介绍“Java中ReentrantReadWriteLock类的使用”,在日常操作中,相信很多人在Java中ReentrantReadWriteLock类的使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中ReentrantReadWriteLock类的使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联-专业网站定制、快速模板网站建设、高性价比寒亭网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式寒亭网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖寒亭地区。费用合理售后完善,十多年实体公司更值得信赖。

ReentrantReadWriteLock与ReentrantLock的区别:

ReentrantLock:同一时间只能有一个线程执行ReentrantLock.lock()后面的代码,这样虽然可以保证线程安全,但程序的运行效率却比较低。

ReentrantReadWriteLock:有两种锁也就是分别有读和写两种锁,在不需要操作实例变量时,可用读锁,在操作实例变量时,用写锁,这样就可以提升程序的运行效率。

共享锁:读相关的锁就叫共享锁。

排他锁:写相关的锁就叫排他锁。

我们首先看一下共享锁:

Java中ReentrantReadWriteLock类的使用

Java中ReentrantReadWriteLock类的使用

Java中ReentrantReadWriteLock类的使用

Java中ReentrantReadWriteLock类的使用

我们看两个线程是异步执行的,这就是共享锁的好处,多个线程可以同时执行lock()方法后面的代码,提高程序的执行效率。下面我们看一下排他锁:

Java中ReentrantReadWriteLock类的使用

Java中ReentrantReadWriteLock类的使用

Java中ReentrantReadWriteLock类的使用

Java中ReentrantReadWriteLock类的使用

我们看输出是同步执行的。这也是排他锁的特性,如果线程中有操作实例变量的操作,为了保证线程安全可以用排他锁。

共享锁和排他锁也是互斥锁。这句话的意思是说如果线程已经获取到了共享锁,但程序没有执行完,那么此时,其它线程在获取排他锁时,是获取不到的,只能等待共享锁释放后才可获取到。

Java中ReentrantReadWriteLock类的使用

Java中ReentrantReadWriteLock类的使用

Java中ReentrantReadWriteLock类的使用

Java中ReentrantReadWriteLock类的使用

Java中ReentrantReadWriteLock类的使用

到此,关于“Java中ReentrantReadWriteLock类的使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!

网页标题:Java中ReentrantReadWriteLock类的使用
本文地址:https://www.cdcxhl.com/article2/ihggic.html

成都网站建设公司_创新互联,为您提供自适应网站企业建站服务器托管关键词优化网站改版网站维护

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设