jdk 源码分析(8)java synchronized和锁lock对比
来源:互联网 发布:光学透镜设计软件 编辑:程序博客网 时间:2024/05/23 17:49
因为synchronized 是关键字,无法看到源代码,所以只能做一个简单的分析对比了,
synchronized 能锁方法,也能锁代码块,其实也是一种重入锁(也就是自己的锁,自己可以进去),代码块或方法离开,自动释放锁。
lock:lock能做synchronized能做的所有的事情,但是lock 能过在资源竞争地方,通过投票等方法让其他锁释放。而synchronized必须自愿,lock 需要自己释放出来,所以一般将lock.lock 放在try里面,而lock.unlock 放在finally 里面。
synchronized 配套的wait和notify ,与lock的condition 里的await和 signal 相对应,lock可以获取多个condition。
据网上资料建议:
synchronized在处理竞争压力不强的地方性能远好于lock ,而lock相反。具体什么地方使用synchronized 和lock酌情考虑。
阅读全文
0 0
- jdk 源码分析(8)java synchronized和锁lock对比
- jdk 源码分析(17)java Semaphore 源码解析及与lock对比
- 【Java并发编程】对比synchronized和Lock
- Java学习-Lock机制和Synchronized分析
- java.util.concurrent包(1)-lock和synchronized对比
- java学习--同步机制lock和synchronized对比学习
- java并发编程(synchronized同步和Lock显示锁)
- java的lock锁和synchronized关键字
- 简单分析Synchronized(同步锁)、Lock
- 2 synchronized 和 Lock+Condtion 对比
- 锁 synchronized和Lock
- synchronized 与 Lock 对比
- 《Java源码分析》:ReentrantLock.lock 锁机制
- 《Java源码分析》:ReentrantLock.lock 锁机制
- jdk 源码分析(2)java hashtable的结构及hashMap对比
- 隐式(Synchronized)锁和显式(java.util.Lock)锁
- Java:使用 synchronized和Lock对象获取对象锁
- Java:使用synchronized和Lock对象获取对象锁
- 通过表单上传图片,并存储到服务器指定目录下
- python基础练习
- bzoj 3790(manacher+树状数组)
- hdu 2090 算菜价
- [BZOJ1576] [Usaco2009 Jan]安全路经Travel
- jdk 源码分析(8)java synchronized和锁lock对比
- 注解
- 程序员面试-数据库 1
- LeetCode 561. Array Partition I
- hdu 2091 空心三角形
- 如何向eclipse中添加数据库驱动文件开发JDBC程序
- 高级数据结构2--并查集
- 八大排序算法之-快速排序 java代码
- 关于函数的调用过程(栈帧)