Dans mon application java, j'ai une fonction de sauvegarde du journal:fonction Java waitFor() process entraîne l'application de geler
rt = Runtime.getRuntime();
pr = rt.exec(command);
int exitVal = pr.waitFor();
if(exitVal == 0)
return true
Le problème est qu'il faut un certain temps pour sauvegarder les journaux et pour obtenir une réponse, jusqu'à ce que alors mon application se fige. Si je supprime l'appel de fonction pr.waitFor()
, j'obtiens une réponse, mais la sauvegarde du journal ne fonctionne pas.
Soit vous devez l'attendre, soit vous ne l'attendez pas. En fonction de votre contexte exact, vous pouvez utiliser une sorte de thread d'arrière-plan pour exécuter le processus et avoir une sorte d'observateur qui est averti lorsque le processus est terminé. 'SwingWorker' de l'API Swing fait cela (plus ou moins) – MadProgrammer
Essayé selon cela et cela fonctionne. http://stackoverflow.com/questions/3489543/how-to-call-a-method-with-a-separate-thread-in-java/3489549 –