簡體   English   中英

如何找到當前在Java中執行的方法?

[英]how to find a method is currently executing in java?

我想知道如何才能找到當前正在運行的特定方法,如果當前正在運行,我不想執行其他功能。

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不起作用。我不希望使用靜態布爾標志。當移動設備的方向發生變化時,我正在調用其他函數,但是在四個方向之一中,我要檢查某個函數當前是否正在運行。

檢查此鏈接

獲取當前執行方法的名稱

您還可以設置一個標志,該標志在A運行時初始化,並在A執行結束時重置為null

你可以試試這個

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();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM