AQS的ReentLock的作用

发布时间:2021-09-14 13:37:48 作者:柒染
来源:亿速云 阅读:128

本篇文章为大家展示了AQS的ReentLock的作用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

什么是公平锁  什么是非公平锁?

公平锁: 先到临界区的线程要比后到临界区的线程先获得锁

非公平锁:  先到临界区的线程未必比后到临界区的线程先获得锁。

怎么实现公平锁和非公平锁?

公平锁把竞争的线程放在一个队列上,只要持有锁的线程执行完了,唤醒下一个队列的线程去获取锁, 非公平锁的实现也很简单,就是线程先尝试能不能获取到锁,如果获取到锁就执行同步代码块,如果没有获取到锁,就把这个线程放到队列中去。所以公平锁和非公平锁的区别是线程执行同步代码块时,是否会尝试获取锁。

为什么要创建队列? 线程一直尝试获取锁不就行了么?
一直尝试获取锁 就是自旋锁,是耗费资源的。多个线程一直在自旋,而且大多数是竞争失败的,应该没有人会这样实现吧。

上述内容就是AQS的ReentLock的作用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. 多线程(十二、AQS原理-CountDownLatch基于AQS的共享实现)
  2. JAVA中如何实现AQS

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

aqs lock python

上一篇:Python如何调用百度AI实现图片上表格识别功能

下一篇:node如何自定义安装更改npm全局模块默认安装路径

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》