静态方法加synchronized和非动态方法加synchronized的区别
来源:互联网 发布:虫虫钢琴软件 编辑:程序博客网 时间:2024/05/29 04:26
回答这个问题前先搞清楚四个概念:对象锁、类锁、对象方法、类方法。
(1)对象锁:Java为每个对象分配一个锁。
(2)Java为每个类分配一个锁。
(3)非静态方法为对象方法。
(4)静态方法为类方法。
搞清楚这4个概念,基本上也就知道了答案。
静态方法是类方法。所以静态方法加的锁是类锁。非静态方法是对象方法,非静态方法加锁是对象锁。因为每一个类、每一个对象都只有一个锁,所以当类静态方法a()持有锁时,
该类的其他静态方法只能等待静态方法a()释放锁。非静态方法亦然,当对象方法b()持有对象锁的时候,该对象的其他方法就要等待b()方法释放该对象锁。
阅读全文
0 0
- 静态方法加synchronized和非动态方法加synchronized的区别
- synchronized关键字加到static静态方法和非static静态方法区别
- Java synchronized 非静态方法 静态方法的区别
- synchronized 静态方法和非静态方法
- Synchronized 静态方法和非静态方法的异同
- synchronized修饰静态方法和非静态方法的总结
- synchronized 同步方法中静态与非静态的区别
- 【java】synchronized修饰静态方法和非静态方法的区别
- java synchronized同步静态方法和同步非静态方法的区别与举例
- java synchronized同步静态方法和同步非静态方法的区别与举例
- 静态synchronized方法和非静态synchronized方法的锁对象不是同一个
- synchronized方法和synchronized块的区别
- synchronized块和synchronized方法的区别
- Synchronized同步静态方法和非静态方法总结
- Synchronized同步静态方法和非静态方法
- Java的synchronized加在方法上或者对象上有什么区别?
- Java的synchronized加在方法上或者对象上有什么区别?
- Synchronized静态方法和SyncRoot
- 百炼 3468:电池的寿命
- zookeeper注册配置与启动
- mybatis 分页参数 RowBounds
- 数据结构实验之链表二:逆序建立链表
- ESL读书笔记2b:bias-variance tradeoff之 knn在k=1情况下受目标函数影响的bias和variance
- 静态方法加synchronized和非动态方法加synchronized的区别
- python的三目
- python之numpy库学习常用函数(矩阵运算)
- 兵法三十六计第一计-瞒天过海。
- GDI位图实现
- java中获取二维数组的行数和列数
- unity渲染路径
- Jzoj1310 生日礼物
- netty去实现文件传输