假设有一个java程序: public class Test{ public static void main(String[] args) { 代码 } }要求: 当这个程序正在执行时,外部如果再执行这个程序时就不执行直接退出。感觉应该是进程问题,每次执行前先判断是否有相同的程序执行,如果有直接退出,如果没有再执行。不知道如何做,请各位不吝赐教!!!
public class Test { public synchronized Test() { } }
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; } }
谢谢您们的回复! 好象不好用每次调用一个main函数,jvm就重新开了个进程,感觉应该是进程间通讯.还请各位高手指教!附:我是通过命令调用main 函数的,如:java -classpath %CLASSPATH% test
{
public synchronized 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;
}
}
好象不好用每次调用一个main函数,jvm就重新开了个进程,感觉应该是进程间通讯.还请各位高手指教!附:我是通过命令调用main 函数的,如:java -classpath %CLASSPATH% test