AQS的ReentLock的作用

2023-05-17,,

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

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

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

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

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

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

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

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

《AQS的ReentLock的作用.doc》

下载本文的Word格式文档,以方便收藏与打印。