synchronized修饰Timer.class
synchronized修饰静态方法呢?怎么实现同步

解决方案 »

  1.   

    实例类同步:在每个实例方法加上同步修饰。 public synchronized void m1() { } public synchronized void m2() { }该类的对象只能在同一时间调用一个方法。而如果你要该类的所有实例在某一时刻进行同步的话就要使用静态的变量来标记同步锁 private static String s = ""; public void m1() {
    synchronized (s) {
    // someCOde
    }
    } public void m2() {
    synchronized (s) {
    // someCOde
    }
    }静态方法也是这样加同步锁
      

  2.   

    对象锁,具体怎么实现要参考底层操作系统提供的操作原语,比如linux下的信号量、pthread_mutex_t、posix信号量等机制
      

  3.   

    在静态方法前加上synchronized,就行了。
      

  4.   

    synchronized 这个是同步块方法,把你要同步的代码加在这里面就行了
      

  5.   

    静态方法,锁定的是那个 class 对象
    其实静态方法,就是直接关联 class 对象的
      

  6.   

    没有试,如果可以的话,它就相当于如下代码:public void m1{
      synchronized (Timer.class) {  }
    }
    同步一定要有同步锁,对于静态方法,由于其不依赖于对象产生,故如果可以直接加synchronized,我认为其锁很可能是 ClassA.class.
      

  7.   

    也可以通过synchronized{
    //要调用的方法语句
    }实现的。