Я делаю изменения в java 8 кодовой базе. Моя цель для части кода - отложить событие на определенный период времени, скажем, на 5 секунд, и для этого я использую TimeUnit.SECONDS.sleep. Ниже приведен пример раздела кода: -
TimeUnit.SECONDS.sleep(5);
method(paramater1,parameter2); (This method will be executed after 5 seconds)
Мой вышеупомянутый подход к блокировке и задержке потока неэффективен. Я хотел реализовать это, используя более эффективный способ и один из асинхронных c неблокирующих способов, который я думаю, это использовать vertex.setTimer следующим образом: -
//( private long pause=5000 in milliseconds ) this is just a moment for reference
Vertx.SetTimer(pause, id-> { log.info(“xxxxx {}", someVariable);
method(param1,param2,param3);
});
Вопросы: - 1. Изменится ли выше Помогите достичь моей цели - сделать паузу на 5 секунд перед выполнением данного метода? 2. Есть ли какой-либо другой лучший способ реализовать это просто и эффективно? 3. Может ли кто-нибудь помочь в рассмотрении и предоставлении предложений?