我编写了一个小Java应用程序,它从多个线程执行一个Python脚本。Python脚本发送一个SMS,执行大约需要1-2秒。在
当只运行一个线程时,一切都很好。但是当使用多个线程时,并且脚本需要执行多次(同时),并不是所有线程都能成功执行Python脚本。在
所有线程都包含相同的“PythonExecutor”对象。类包含这些方法。我用的是同步方法。在
public class PythonExecutor {
// Other stuff
public synchronized void runScript() {
String scriptFile = prefs.getScript();
try {
runPython(scriptFile);
} catch (Exception ex) {
...
}
}
private void runPython(String _scriptFile) throws IOException {
String[] cmd = {"python", _scriptFile,};
Runtime.getRuntime().exec(cmd);
}
}
谁能告诉我怎么解决这个问题吗?在
谢谢
更新!在
我找到了解决问题的办法。我用的是ProcessBuilder而不是Runtime,它工作得很好。在
相关问题 更多 >
编程相关推荐