synchronized实现同步的三种用法
来源:互联网 发布:数据交换架构 编辑:程序博客网 时间:2024/06/06 01:54
1:对于普通同步方法,锁的是当前实例的对象。
意思是
class A {synchronized test(){system.out.print("lock object");}}
A a = new A();
A a1 = new A();
a.test();这个时候锁住的是a.然而a1并不会被锁住。
2:对于静态同步方法,锁的则是当前类的class对象。
意思是
class A {static synchronized test(){system.out.print("lock object");}}
A a = new A();
A a1 = new A();
a.test();这个时候锁住的是整个A的class,a1也被锁住了。
3:对于同步方法块,锁住的是synchonized括号内配置的对象。
class A{test(A a){synchronized(a){a=new A();}}}这个就是锁的对象a,
A a =new A();
A a1 =new A();
a.test(a1);
这实际上锁的是a1 这个对象。
0 0
- synchronized实现同步的三种用法
- synchronized 线程同步的三种方法
- synchronized同步三种使用方法
- Java线程同步--synchronized的用法
- Java同步: synchronized用法
- 同步synchronized用法
- 同步synchronized用法
- java同步关键字Synchronized 的实现原理
- JAVA学习笔记--多线程(三)synchronized实现线程同步
- synchronized实现线程同步
- synchronized关键字实现同步
- synchronized同步问题完美用法
- java 多线程 同步 synchronized 的个人理解和用法
- java线程同步的三种方法[synchronized关键字,Lock加锁,信号量Semaphore]
- 线程同步的三种实现方式
- synchronized的4种用法
- synchronized的4种用法
- synchronized的4种用法
- genymotion启动模拟器报错incompatible state
- Java知识点总结
- iOS -i no matching profiles with a valid signing identity found
- python的slice与.indices的功能
- 初识ReactJS的组件化开发(四):ajax加载电影列表时显示"正在加载"
- synchronized实现同步的三种用法
- Java线程
- 9.ATL实现IDispatch自动化接口
- 《Java中Lock和synchronized的比较和应用》
- iOS汇编教程:ARM(1)和ARM(2)
- 2016_NENU_SoftWare_Summer_ Training_1
- addChildViewController: VS addSubview:
- Hdu 4588 Count The Carries (规律)
- 这是一段神奇的代码之C