请问类中的静态方法能否让多个线程同时访问并行执行????
还是说需要排队执行????
非常感谢!!!!

解决方案 »

  1.   

    可以,在静态方法内部使用synchronized(o) { }块就行了。但是不能给静态方法本身加synchronized修饰符,因为静态方法没有实例引用,无法确定锁定对象。
      

  2.   

    但是不能给静态方法本身加synchronized修饰符,因为静态方法没有实例引用,无法确定锁定对象。
    ------------------------------------------------------------------------
    LZ这句话有误吧,JAVA里面的锁是可以对类和对象进行锁定的,所以无论在在方法内部还是外部都可以使用。
    public synchronized static void test(){
      ......
    }
    上面是对类进行锁定
    public synchronized void test(){
      ......
    }
    上面是对对象进行锁定,
    好好读读关于这方面的资料吧
    请问类中的静态方法能否让多个线程同时访问并行执行????
    ----------------------------------------------------
    可以多线程同时访问,如果内部访问了静态变量,要注意对同步问题还是说需要排队执行????
    -------------------------------------------------------
    如果没有synchronized关键字,不需要排队执行,如果加了这个关键字,那么就需要排队
      

  3.   

    排不排队都取决于有没有 synchronized
    可以直接把synchronized 加在 需要同步的方法前面
    也可以 单独定义一个synchronized方法,然后在run 方法中调用
    加了synchronized就同步,不加就都可以访问