synchronized 关键字可用于声明方法,类和方法体,声明的目标同一时间只能被一个线程访问。
用法如下,
1. 修饰实例方法;
2. 修饰类;
3. 修饰代码块;
4. 修饰静态方法。
public class SynchronizedTest extends Thread{
public static int i;
@Override
public void run() {
}
public synchronized void computedInt(){ // 修饰实例方法
synchronized (SynchronizedTest.class){ // 修饰类
// ...
}
synchronized (this) { // 修饰代码块
// ...
}
}
public synchronized static void sumInt(){ // 修饰静态方法
// ...
}
}