将变量从一个main方法更改为另一个main方法

时间:2015-11-04 16:18:50

标签: java

我必须在主类中保留这个server.start和server.stop代码,我还必须从shell脚本中调用一个类,这样可以改变标志的状态。 问题是每当我这样做时,标志的状态在A类中没有改变,循环永远不会终止。我也尝试使用带有标志的volatile关键字但没有任何好处。

public class A {
  static boolean flag; 

  public static void main (String args){
    server.start()
    waitforShutDown();
    server.stop()
  }

  public static void waitforShutDown() {
    while(!flag) {
      Thread.sleep(5000);
    }
  }

  public static void shutDown() {
    flag=true;
  }

}

//from this class i wll call for shutDown()

public class B {

  public static void main (String args[]) {
    new A().shutDown();
  }
}

1 个答案:

答案 0 :(得分:0)

Java中的程序只能有一个主要方法。因此B类将不会被执行。您可以考虑在A类中使用线程或实例化B类。