Выполнение действия через x времени

126
11 сентября 2019, 13:50

Всем привет.

Допустим, у меня есть две строки: String a="abc"; String b="def";

Каким образом можно сделать чтобы строка b отобразилась спустя какое либо время (например 5 секунд) после отображения строки a, которая отобразится сразу при запуске программы?

Answer 1

Попробуйте:

Thread.sleep(5000);

P.S Полностью остановит программу, если она однопоточная.

Answer 2

Есть метод sleep(long millis), который приостанавливает работу потока на время равное millis, время указывается в миллисекундах.

String a = "abc";
String b = "def";
System.out.println(a);
Thread.sleep(5000);
System.out.println(b);

P.s. это не означает, что вывод второй строки будет ровно через 5 секунд, но будет близкое к этому значению.

Answer 3

Если вы хотите сделать паузу, используйте java.util.concurrent.TimeUnit:

 TimeUnit.SECONDS.sleep(1); 

Чтобы спать в течение одной секунды или в течение 5 минут

  TimeUnit.MINUTES.sleep(5);

Или Thred Sleep

   try        
   {
   Thread.sleep(5000);
    } 
    catch(InterruptedException ex) 
    {
    Thread.currentThread().interrupt();
    }

см. также официальную документацию https://docs.oracle.com/javase/tutorial/essential/concurrency/sleep.html

TimeUnit.SECONDS.sleep() вызовет Thread.sleep. Единственное различие - читаемость и использование TimeUnit, вероятно, легче понять для неочевидных длительностей

READ ALSO
Может ли Bundle быть null?

Может ли Bundle быть null?

При создании нового Activity на вход методу onCreate() подается объект типа Bundle

129
Добавить MySQL в IntelliJ IDEA

Добавить MySQL в IntelliJ IDEA

Для работы с БД MySQL пытаюсь импортировать mysql-connector-java-80

130
Jstl в чем смысл form:lable атрибута path?

Jstl в чем смысл form:lable атрибута path?

Для чего нужен атрибут path y form:lableПри такой записи все нормально выводится:

106