2014-09-06 4 views
0

Я создал новую тему в анонимном классе. Как я могу приостановить программу до тех пор, пока поток не завершится. для проверки того, что все работает. Я создаю цикл while, который не продолжается, но я знаю, что это не решение. Я ищу простейшее решение.Продолжить только после завершения резьбы

public void methodName() { 
    Thread t = new Thread() { 
     public void run() { 
     } 
    } 
    t.start() 
    System.out.print("Finish"); 
} 

Я хочу, чтобы закончить печать только после окончания резьбы t.

В потоке я использую внешнюю библиотеку. И я обнаружил, что завершение потока, но функция, которую я запускаю внутри потока, не заканчивается. Их способ блокировать или синхронизировать уведомлять, что я могу остановить выполнение, пока эта функция не будет закончена?

Я могу поместить переменную в место, когда запуск функции завершен.

 ParseQuery<ParseObject> query = ParseQuery.getQuery("GameScore"); 
    query.getInBackground("xWMyZ4YEGZ", new GetCallback<ParseObject>() { 
    public void done(ParseObject object, ParseException e) { 
      if (e == null) { 
      // object will be your game score 
      } else { 
      // something went wrong 
      } 
     } 
     }); 

это от API. Я хочу поместить этот код в поток и продолжить только после вызова функции done. Спасибо,

+1

О себе: Вы уверены? Нити не заканчиваются до тех пор, пока их метод run() не завершится. – Zenadix

+0

@ Zenadix Да, поток запускает функцию, которая также является потоком (это ее пишется в api, но код скомпилирован, и я вижу). Кажется, что поток закончен, но функция не закончилась, чтобы работать. У меня есть другой метод, который вызывается, когда эта функция завершена. поэтому я могу разместить их объект – Alon

+0

Возможно, если вы разместите код, я смогу вам помочь. – Zenadix

ответ

7

Просто позвоните join по теме:

t.start(); 
t.join(); 
System.out.print("Finish"); 

В join ожидании вызова для потока прекратить до возвращения.

+2

Обязательная ссылка Javadoc: http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html#join-- – hexafraction

+0

Я обновил вопрос – Alon