问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中的锁有哪几种

发布网友 发布时间:2022-04-23 01:40

我来回答

1个回答

热心网友 时间:2023-01-25 04:23

lock比synchronized比较如下:

1) 支持公平锁,某些场景下需要获得锁的时间与申请锁的时间相一致,但是synchronized做不到
2) 支持中断处理,就是说那些持有锁的线程一直不释放,正在等待的线程可以放弃等待。如果不支持中断处理,那么线程可能一直无*的等待下去,就算那些正在占用资源的线程死锁了,正在等待的那些资源还是会继续等待,但是ReentrantLock可以选择放弃等待
3) condition和lock配合使用,以获得最大的性能
JAVA中锁使用的几点建议:

1.如果没有特殊的需求,建议使用synchronized,因为操作简单,便捷,不需要额外进行锁的释放。鉴于JDK1.8中的ConcurrentHashMap也使用了CAS+synchronized的方式替换了老版本中使用分段锁(ReentrantLock)的方式,可以得知,JVM中对synchronized的性能做了比较好的优化。
2.如果代码中有特殊的需求,建议使用Lock。例如并发量比较高,且有些操作比较耗时,则可以使用支持中断的所获取方式;如果对于锁的获取,讲究先来后到的顺序则可以使用公平锁;另外对于多个变量的锁保护可以通过lock中提供的condition对象来和lock配合使用,获取最大的性能。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苏打地牢500层boss怎么打 苏打地牢500层boss打法攻略 隐形眼镜用水龙头水泡着可以么 ...还有些痒痒的 越来越多的趋势 请问这是什么原因引起的 长安univ智电idd改无线充怎么改的 山药泥火龙果的做法 铜合金好还是纯铜好 铜合金和铜哪个好 合金为什么比铜要好 合金和铜哪个好 音乐风格要素主要包括 java中的lock锁,多次获得,只unlock一次,会有什么效果 Java中有哪些锁,区别是什么 JAVA锁有哪些种类,以及区别 唯品会月度账单可以删除吗? 小龙虾和普通的虾有何区别?一共有哪些虾?常见的可养殖虾品种有哪些? 龙虾是海虾吗? 小龙虾是虾吗?它的学名是什么? 大龙虾和普通大虾吃起来口感味道 有啥不同? 泰医简述体内的糖、脂肪和蛋白质(氨基酸)三者在代谢上的相互关系 龙虾是龙还是虾? 苏氨酸是生糖氨基酸,还是生糖兼生酮氨基酸? 大虾是龙虾吗 龙虾和虾有什么区别? 下述氨基酸除哪种外,都是生糖氨基酸或生糖兼生酮氨基酸?? 龙虾和对虾一个概念吗 丙氨酸可以转化为丙酮酸,为什么不是生酮氨基酸 龙虾是属于虾类吗? 抗生酮氨基酸是什么? 虾跟龙虾有什么差别? 下列哪种氨基酸是生酮氨基酸( )。 如何使用java的锁机制 java 对象锁和方法锁有什么区别 说说java锁有哪些种类,以及区别 Java锁的几种应用 经常会听到Java锁这个词,但给自己的感觉很朦胧,有办法清楚的了解它吗?大虾们给个建议!!! java 多线程什么是锁 Java的锁机制有什么用 java中共享锁与无锁的区别? java为什么要对对象加锁 java中文件加锁机制是怎么实现的。 Java多线程中,锁是什么,所谓的获取锁是什么意思 JAVA多线程中“锁”的概念的理解 JAVA锁机制 有小例子说明最好! java锁的可见性的是怎么保证的 java中如何锁住一个文件不让其他程序修改 wps怎么把文本转换成表格 怎样把wps文字转换成wps表格? 怎么把手机wpsword转换为Excel文档? 香椿用开水烫过后可以保存多久?怎么保存? 香椿的如何保存一年四季都可以吃到?