Как приостановить или задать паузу, пока не будет выполнен другой поток?

216
26 июня 2017, 18:31

Нужно, чтобы приложение не отвечало до тех пор, пока созданный поток недовыполнит свою задачу. Ну например:

class Zapis implements Runnable {
    long zapis;
    Zapis(long zapis) {
        this.zapis = zapis;
    }
    public void run() {
        // Тут файл записывает информацию в json файл.
    }
}

И нужно, чтобы пока будет записывать этот поток, приложение не отвечало и не давало возможности переходить на другие Фрагменты.

Answer 1

Для этого есть стандартный метод Thread.join()

Подробный разбор join() здесь

Answer 2
Thread trity = new Thread(p);
trity.start();
while (trity.isAlive()) {
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
} 

Вот как-то так получилось.

READ ALSO
JSON java android. Поменять значения

JSON java android. Поменять значения

Всем приветЕсть ли способ поменять значения в JSON файле? Не считая способа получить все данные, поменять нужные и записать все снова

241
удаление элемента LinkedList

удаление элемента LinkedList

у меня есть класс

428
java | мелкий вопрос по поводу метода equals

java | мелкий вопрос по поводу метода equals

Как реализованы методы по типу equals? Я понимаю, конечно же, что метод equals должен вызвать объект: собственно, в этом и вопросКак он так написан,...

266