类别 | synchronized | LOCK |
---|---|---|
存在层次 | Java的关键字,在jvm层面上 | 是一个类 |
锁的释放 | ①获取锁的线程执行完同步代码,释放锁;②线程执行发生异常,jvm会让线程释放锁 | 在finally中必须释放锁,不然容易造成死锁 |
锁的获取 | 假设A线程获取锁,B线程等待。如果A线程阻塞,B线程会一直等待 | 分情况而定,LOCK有多个获取锁的方式,大致就是尝试获得锁,线程可以不用一直等待 |
锁的状态 | 无法判断 | 可以判断 |
锁类型 | 可重入 不可中断 非公平 | 可重入 可中断 可公平(两者皆可) |
性能 | 少量同步 | 大量同步 |
Synchronized和Lock区别
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
分布式系统各个节点状态如何同步?浅谈一下
毛发旺盛的程序员
2020-07-08 12:27:30
阿里年薪破百架构师推荐:鸟哥的Linux私房菜,搭配面试题,真香
毛发旺盛的程序员
2020-07-08 12:27:30
ZooKeeper 一致性协议 ZAB 原理,了解一下
毛发旺盛的程序员
2020-07-08 12:27:20
Spring中Transactional 失效的解决方案,让我们一起探讨一下
毛发旺盛的程序员
2020-07-08 12:27:20
太狠了,Spring全家桶笔记,一站式通关全攻略,已入职某厂涨薪18K
毛发旺盛的程序员
2020-07-08 12:27:20
面试准备季——MyBatis 面试专题(含答案)
毛发旺盛的程序员
2020-07-08 12:27:20
【JAVA】 try catch finally 中包含return的几种情况,及返回结果
never疯
2020-07-08 12:23:53
剑指Offer_编程题_二叉搜索树的后序遍历序列
浮煌
2020-07-08 11:43:28
剑指Offer_编程题_树的子结构
浮煌
2020-07-08 11:43:28
java的二分查找源码分析
Cison chen
2020-07-08 11:07:50
android程序退出方案
shangmin1990
2020-07-08 11:03:08
啥时候用interface,啥时候用abstract类? 就一句话
_躬行_
2020-07-08 10:35:56
#idea#一个Java工程频繁被idea修改jdk版本问题
码农丁丁
2020-07-08 10:28:41
Head First Servlet/JSP 学习笔记(1)
fan_7
2020-07-08 09:39:41