synchronized与static synchronized 的区别
来源:互联网 发布:mysql备份脚本 编辑:程序博客网 时间:2024/06/16 22:41
1、synchronized是对类的当前实例进行加锁,防止其他线程同时访问该类的该实例的所有synchronized块
2、static synchronized控制类的所有实例的访问
3、示例
pulbic class Something(){
public synchronized void isSyncA(){}
public synchronized void isSyncB(){}
public static synchronized void cSyncA(){}
public static synchronized void cSyncB(){}
}
那么,加入有Something类的两个实例a与b,那么下列组方法何以被1个以上线程同时访问呢
a. x.isSyncA()与x.isSyncB()
b. x.isSyncA()与y.isSyncA()
c. x.cSyncA()与y.cSyncB()
d. x.isSyncA()与Something.cSyncA()
a,都是对同一个实例的synchronized域访问,因此不能被同时访问
b,是针对不同实例的,因此可以同时被访问
c,因为是static synchronized,相当于Something.isSyncA()与Something.isSyncB()了,不能被同时访问。
d,synchronzied的是实例方法与synchronzied的类方法由于锁定(lock)不同,因此可以同时访问
4、synchronized方法与synchronized代码快的区别
synchronized methods(){} 与synchronized(this){}之间没有什么区别,
只是 synchronized methods(){} 便于阅读理解,synchronized(this){}
可以更精确的控制冲突限制访问区域,有时候表现更高效率。
5、synchronized关键字是不能被继承的
synchronized关键字是不能继承的,也就是说,
基类的方法synchronized f(){} 在继承类中并不自动是synchronized f(){},
而是变成了f(){}。继承类需要你显式的指定它的某个方法为synchronized方法;
参考:http://www.cnblogs.com/shipengzhi/articles/2223100.html
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- Java synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- synchronized与static synchronized 的区别
- 弹出DIV遮蔽层效果
- Glide加载圆形、圆角等图片的用法
- ubuntu下安装web服务器及爬虫框架
- android布局属性详解
- Spring关于CORS跨域支持的全局配置(代码实战)
- synchronized与static synchronized 的区别
- Myeclipse 注册码2018年到期
- 界面弹出框插件介绍
- maven-myeclipse8.5配置搭建
- (一)SQL注入
- JSTL标签库
- 支付宝接口
- String StringBuffer StringBuilder
- artDialog Demo