non sono sicuro di aver capito cosa ti serve
codice:
public MyThread(Object o) {
  boolean running = false;
  Object data;
  public void run() {
    running = true;
    ...
    running = false;
  }
  public Object getData() {
    return data;
  }
}
chi crea il thread fa
while (t.running) {
  Thread.sleep(100); // aspetta
}
Object data = t.getData();