静态方法使用synchronized修饰.
package seday10;
/**
* @author xingsir
* 静态方法若使用synchronized修饰,这个方法一定具有同步效果。静态方法上使用的同步监视器对象为这个类的"类对象",
* 每个java定义的类都只有唯一的一个类对象(class类型的的实 例)
*/
public class syncdemo3 {
public static void main(string[] args) {
thread t1 =new thread() {
public void run() {
class1.method();//静态类,直接用类名调用方法
}
};
thread t2 = new thread() {
public void run() {
class1.method();//静态类,直接用类名调用方法
}
};
t1.start();//启动
t2.start();//启动
}
}
class class1{
/*
* 两种方法:
* 1.直接加在方法名前面 public synchronized static void dosome(){}
*/
public synchronized static void method() {
/*
* 2.静态方法中若使用同步监视器对象,也可以使用 当前类的类对象,获取当前类的类对象可以直接
通过:类名.class得到。如下:synchronized (foo.class) {}
*/
// synchronized (foo.class) {
try {
thread thread =thread.currentthread();
system.out.println(thread.getname()+":正在执行method...");
thread.sleep(5000);
system.out.println(thread.getname()+":执行method完毕!");
} catch (exception e) {
e.printstacktrace();
}
// }
}
}
上一篇: C++ 自增、自减运算符的重载和性能分析