深入浅析Java中concurrency的非公平锁?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
获取非公平锁(基于JDK1.7.0_40)
非公平锁和公平锁在获取锁的方法上,流程是一样的;它们的区别主要表现在“尝试获取锁的机制不同”。简单点说,“公平锁”在每次尝试获取锁时,都是采用公平策略(根据等待队列依次排序等待);而“非公平锁”在每次尝试获取锁时,都是采用的非公平策略(无视等待队列,直接尝试获取锁,如果锁是空闲的,即可获取状态,则获取锁)。
1. lock()
lock()在ReentrantLock.java的NonfairSync类中实现,它的源码如下:final void lock() { if (compareAndSetState(0, 1)) setExclusiveOwnerThread(Thread.currentThread()); else acquire(1);}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何在 Java 中向 MySQL 数据库添加数据?(java怎么向mysql数据库中添加)
- 如何获取 Java 枚举类的值?(java枚举类的值怎么获取)
- 如何在 Java 中向数据库添加一条数据?(java怎么向数据库添加一条数据)
- Uncomtrade数据库异地备份指南
- CORS 在微服务架构中的应用场景有哪些?(cors在微服务架构中的应用场景)
- 如何在 Java 中创建 Maven 项目?(java怎么创建maven项目)
- 如何高效使用Uncomtrade数据库进行查询
- Java 配置环境变量后如何进行使用操作?(java配置环境变量后如何使用)
- Java 中防止接口重复提交的方法有哪些?(java接口防止重复提交的方法是什么)
- 如何提高 Java Office 的性能?(java office 怎样提高性能 )
猜你喜欢
AI推送时光机深入浅析Java中concurrency的非公平锁
后端开发2023-05-31
深入浅析Java中 concurrency的公平锁
后端开发2023-05-31
深入浅析Java中的 concurrency锁
后端开发2023-05-31
Java AQS中的公平锁与非公平锁怎么使用
后端开发2023-06-02
深入浅析Java中的ReentrantReadWriteLock共享锁
后端开发2023-05-31
深入浅析Java中的 FilterInputStream
后端开发2023-05-31
深入浅析Java 中的LockSupport
后端开发2023-05-31
深入浅析Java 中的CharArrayReader
后端开发2023-05-31
深入浅析Java中的Object类
后端开发2023-05-31
深入浅析Java中的链表
后端开发2023-05-31
深入浅析Java中的 List类
后端开发2023-05-31
深入浅析Java中的数组
后端开发2023-05-31
深入浅析Java中的Properties类
后端开发2023-05-31
深入浅析Java中的String类
后端开发2023-05-31
深入浅析java并发中的ArrayBlockingQueue
后端开发2023-05-31
深入浅析Java中的Condition条件
后端开发2023-05-31
深入浅析Java中的装饰器
后端开发2023-05-31
深入浅析Java中的对象流
后端开发2023-05-31
深入浅析Java中的Junit框架
后端开发2023-05-31
咦!没有更多了?去看看其它编程学习网 内容吧