1

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

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 不起作用。我不想要静态布尔标志。当移动设备的方向发生变化时,我正在调用不同的函数,但在四个方向之一中,我要检查一个函数当前是否正在运行。

4

2 回答 2

0

检查此链接

获取当前执行方法的名称

您还可以设置一个标志,该标志在 A 运行时初始化,并在 A 执行结束时重置为 null

于 2013-04-29T05:20:09.850 回答
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();
    }
}
于 2013-04-29T05:26:10.147 回答