欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

静态方法使用synchronized修饰.

程序员文章站 2023-11-02 15:26:40
package seday10;/** * @author xingsir * 静态方法若使用synchronized修饰,这个方法一定具有同步效果。静态方法上使用的同步监视器对象为这个类的"类对象", * 每个java定义的类都只有唯一的一个类对象(Class类型的的实 例) */public c ......

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

}
// }
}
}