问题
in my application i am using a code that run a batch file, on executing it i am getting a exception i.e. current thread is not owner. Here i want to mention that my application is based on eclipse plugin development. Following is my code, please have a look and find out what is the problem to help me..
/*.......any code.........*/
try
{
Runtime runtime = Runtime.getRuntime();
String cmd = new String(C:\\abc.bat);
process = runtime.exec("\"" + cmd + "\"");
process.wait();
}
catch (Exception e)
{
e.printStackTrace();
}
/***********any code**************/
回答1:
The wait is the method owned by Object, to use the method, you must get the lock of the object, change your code to,
try
{
Runtime runtime = Runtime.getRuntime();
String cmd = new String(C:\\abc.bat);
process = runtime.exec("\"" + cmd + "\"");
synchronized (process){
try{
process.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
来源:https://stackoverflow.com/questions/16730113/current-thread-not-owner-exception