@Yonghwa
121

Какой наилучший способ обновления информации в потоке?

What is up, программач.

Есть поток, который работает до тех пор, пока не произойдет определенное действие.
Все что он делает, это выводить сообщение.
Мне нужно сделать так, что бы он каждую секунду выводил 1 из 3х разных сообщений по порядку.
Например:
Жду .
Потом это "Жду ." пропадает, и на его месте появляется "Жду ..",
потом "Жду ..." и все заново.Именно что бы только точки обновлялись.
Как это реализовать?Я пробовал всякие update методы вызывать, не получается)Помогите.
ps:Это скорее всего убогая реализация того, что я хочу сделать, но мне интересно именно так попробовать )
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 1
vlad20012
@vlad20012
public class Waiter {
    private static volatile boolean isWaiting;

    public static void start() {
        if(isWaiting) throw new IllegalStateException();
        isWaiting = true;
        System.out.print("Жду .");
        new Thread(() -> {
            for(int i = 1; isWaiting; i++) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException ignored) {}
                System.out.print(i % 3 == 0 ? "\b\b" : ".");
            }
            System.out.println();
        }).start();
    }

    public static void stop() {
        if(!isWaiting) throw new IllegalStateException();
        isWaiting = false;
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы