Java Language Appels bloquants ou non bloquants


Exemple

En général, lors d'un appel à la ligne de commande, le programme envoie la commande puis continue son exécution.

Cependant, vous voudrez peut-être attendre que le programme appelé se termine avant de poursuivre votre propre exécution (par exemple, le programme appelé écrira des données dans un fichier et votre programme en aura besoin pour accéder à ces données).

Cela peut facilement être fait en appelant la méthode waitFor() partir de l'instance Process retournée.

Exemple d'utilisation:

//code setting up the commands omitted for brevity...

ProcessBuilder pb = new ProcessBuilder(cmds);

try {
    Process p = pb.start();
    p.waitFor();
} catch (IOException e) {
    e.printStackTrack();
} catch (InterruptedException e) {
    e.printStackTrace();
}

//more lines of code here...