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();


}

//        }

}

}

更多技术资讯可关注:itheimaGZ获取