假设有一个java程序:
public class Test{
public static void main(String[] args) {
  代码
}
}要求:
当这个程序正在执行时,外部如果再执行这个程序时就不执行直接退出。感觉应该是进程问题,每次执行前先判断是否有相同的程序执行,如果有直接退出,如果没有再执行。不知道如何做,请各位不吝赐教!!!

解决方案 »

  1.   

    public class Test
    {
           public synchronized Test()
           {
           }
     }
      

  2.   

    public class Test
    {
           public static void main(String[] args) {
               Test t = new Test();
               int i = t.Test1();
               if(!i){exit(0);}  //如果不是空(正在执行),就退出
               else{Test1();}   //否则执行Test1方法        }
           public int Test1()
           {
               写线程代码;
               return 1;
           }
     }
      

  3.   

    谢谢您们的回复!
    好象不好用每次调用一个main函数,jvm就重新开了个进程,感觉应该是进程间通讯.还请各位高手指教!附:我是通过命令调用main 函数的,如:java -classpath %CLASSPATH%  test