【java】synchronized修饰静态方法和非静态方法的区别
来源:互联网 发布:免费数据恢复软件 编辑:程序博客网 时间:2024/05/20 06:28
synchronized在静态方法上表示调用前要获得类的锁,而在非静态方法上表示调用此方法前要获得对象的锁。
public class StaticSynDemo {
private static String a="test";
//等同于方法print2
public synchronized void print1(String b){ //调用前要取得StaticSynDemo实例化后对象的锁
System.out.println(b+a);
}
public void print2(String b){
synchronized (this) {//取得StaticSynDemo实例化后对象的锁
System.out.println(b+a);
}
}
//等同于方法print4
public synchronized static void print3(String b){//调用前要取得StaticSynDemo.class类的锁
System.out.println(b+a);
}
public static void print4(String b){
synchronized (StaticSynDemo.class) { //取得StaticSynDemo.class类的锁
System.out.println(b+a);
}
}
}
0 0
- 【java】synchronized修饰静态方法和非静态方法的区别
- synchronized修饰静态方法和非静态方法的总结
- Java synchronized 非静态方法 静态方法的区别
- java synchronized同步静态方法和同步非静态方法的区别与举例
- java synchronized同步静态方法和同步非静态方法的区别与举例
- synchronized修饰静态方法和普通方法有什么区别
- synchronized 静态方法和非静态方法
- Java中静态方法和非静态方法的区别
- java中静态方法和非静态方法的区别
- Synchronized 静态方法和非静态方法的异同
- Java Synchronized修饰静态方法普通方法和代码块
- synchronized 同步方法中静态与非静态的区别
- 静态方法加synchronized和非动态方法加synchronized的区别
- 静态函数和非静态函数的区别(静态方法和非静态方法)
- Java语言中synchronized 修饰在 static方法和 非static方法的区别
- Java中synchronized 修饰在 static方法和 非static方法的区别
- Java中synchronized 修饰在static方法和非static方法的区别
- 静态synchronized方法和非静态synchronized方法的锁对象不是同一个
- 7财务分析目标-3
- Oracle常用监控SQL
- XML和HTML常用转义字符
- extjs中radiogroup的赋值和取值
- Linux系统信息查看命令大全
- 【java】synchronized修饰静态方法和非静态方法的区别
- Hive配置项的含义详解
- C语言 - 自创题目:字符串输入的计算器(加减乘除计算器)
- cocos2d-x 截图保存到android端的坑啊 ---cocos2d-x学习之路[2]
- iOS 开发之Target-Action
- Qt phonon多媒体框架
- windowss编程之旋转风车
- 用hMailServer为PHP的mail()函数配置搭建windows平台的SMTP邮件服务器
- 反应堆模式ACE_Reactor类