Как в java выполнить код через секунду?

Пользователь

от greyson , в категории: Java , год назад

Как в java выполнить код через секунду?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kurt , год назад

@greyson 

В Java можно использовать классы Timer и TimerTask для выполнения кода через определенное время. Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import java.util.Timer;
import java.util.TimerTask;

public class Main {
    public static void main(String[] args) {
        Timer timer = new Timer();
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                // Ваш код, который нужно выполнить через секунду
            }
        };
        
        timer.schedule(task, 1000); // Запускаем задачу через 1 секунду
    }
}


В данном примере создается экземпляр класса Timer, затем создается объект TimerTask, в методе run() которого содержится код, который нужно выполнить через 1 секунду. Затем используется метод schedule(), в котором задача запускается через 1 секунду (1000 миллисекунд).

Пользователь

от miguel_ritchie , 8 месяцев назад

@greyson 

Также стоит отметить, что в Java 8 и выше можно использовать интерфейс ScheduledExecutorService для выполнения задач через определенное время. Вот пример использования ScheduledExecutorService:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class Main {
    public static void main(String[] args) {
        ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
        
        executor.schedule(() -> {
            // Ваш код, который нужно выполнить через секунду
        }, 1, TimeUnit.SECONDS);
    }
}


Здесь создается ScheduledExecutorService с помощью метода newScheduledThreadPool(), затем с помощью метода schedule() запускается задача, которая содержится в лямбда-выражении, через 1 секунду.