全部博文(221)
分类: Java
2007-11-19 19:48:57
synchronized的作用
一、同步方法
public synchronized void methodAAA(){
//….
}
锁定的是调用这个同步方法的对象
测试:
a、不使用这个关键字修饰方法,两个线程调用同一个对象的这个方法。
目标类:
线程类:
结果:
输出的数字交错在一起。说明不是同步的,两个方法在不同的线程中是异步调用的。
b、修改目标类,增加synchronized修饰
结果:
输出的数字是有序的,首先输出A的数字,然后是B,说明是同步的,虽然是不同的线程,但两个方法是同步调用的。
注意:上面虽然是两个不同的线程,但是是同一个实例对象。下面使用不同的实例对象进行测试。