如何在java中执行当前正在执行的方法?

时间:2013-04-29 05:17:12

标签: java android

我想知道如何找到当前正在运行的特定方法,如果它当前正在运行,我不想执行另一个函数。

Class myclass extending someclass{
  private void method A(){

  //somthing here
  }

  private void method B(){

  //somthing here
  }

  private void method C(){
   B();//don't want to call B if A is running 

  //somthing here
  }
}

布尔标志ia不工作。我不想要静态布尔标志。我在移动设备的方向改变时调用不同的函数,但是在四个方向之一中我要检查函数当前是否正在运行。

2 个答案:

答案 0 :(得分:0)

检查此链接

Getting the name of the current executing method

你也可以设置一个在A运行时初始化的标志,当A的执行结束时重置为空

答案 1 :(得分:0)

你可以试试这个

AtomicInteger aCount = new AtomicInteger(0);

private void A() {
    aCount.incrementAndGet();
    try {
        //
    } finally {
        aCount.decrementAndGet();
    }
}

private void B() {
}

private void C() {
    if (aCount.intValue() == 0) {
        B();
    }
}