日期:2014-05-20  浏览次数:20721 次

如何在静态方法内部加锁啊
求大神指教
我只知道
public synchronized static void xxx(){
xxxx
xxxx
}
------最佳解决方案--------------------
加一个静态对象,用来作锁

public class MyClass {
    private static final Object myLocker = new Object();
    public static void f(){
        synchronized(myLocker){
            
        }
    }
}

------其他解决方案--------------------
思考一下作用域
静态方法在类一级,当然锁也要类一级的
------其他解决方案--------------------
引用:
加一个静态对象,用来作锁
Java code123456789public class MyClass {    private static final Object myLocker = new Object();    public static void f(){        synchronized(myLocker){                   ……

不好意思,我是新手,你能给我说说这个的详细意思吗
------其他解决方案--------------------
synchronized {

里面写你要锁的东西

}                                         
------其他解决方案--------------------
引用:
思考一下作用域
静态方法在类一级,当然锁也要类一级的

2楼已回答了
静态方法即类方法属于类的,所以锁要锁在类上
------其他解决方案--------------------
public class MyClass {

    public static void f(){
        synchronized(MyClass.class){
             
        }
    }
}