una cosa tipo
codice:
class Processo {
  boolean finito = false;
  void runProcess() {
    Process p = ...
    Messaggio m = new Messagio(this);
    p.waitFor();
    finito = true;
  }
}
class Messaggio extends Thread {
  private Processo processo;
  Messaggio(Processo proc) {
    processo = proc;
    start();
  }
  public void run() {
    while (!processo.finito) {
      ...
    }
  }
}