Что такое Runnable в Java?
Интерфейс Runnable в Java используется для создания задач, которые могут быть выполнены в потоке. Его основной метод run содержит код, который будет выполняться в потоке, и позволяет разработчику реализовать собственную логику многопоточности.
Этот интерфейс особенно полезен, когда вы хотите разделить логику выполнения на отдельные задачи или реализовать параллельные вычисления. Runnable — это основной способ определения потока в Java, особенно если ваш класс уже наследуется от другого класса и не может расширить Thread.
public class MyRunnable implements Runnable {
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println("Поток выполняется: " + i);
try {
Thread.sleep(1000); // Задержка на 1 секунду
} catch (InterruptedException e) {
System.out.println("Поток был прерван");
}
}
}
public static void main(String[] args) {
MyRunnable myRunnable = new MyRunnable();
Thread thread = new Thread(myRunnable);
thread.start(); // Запуск потока
}
}
В этом примере класс MyRunnable реализует интерфейс Runnable и определяет метод run, где задается основная логика потока. В методе main создается экземпляр потока на основе MyRunnable, и он запускается с помощью метода start.
1. Позволяет многократно использовать одну и ту же задачу в разных потоках, так как интерфейс отделяет логику выполнения от управления потоком.
2. Класс, реализующий Runnable, может наследовать от другого класса, так как он не привязан к наследованию Thread.
3. Обеспечивает более четкое разграничение задач и потоков, что упрощает чтение и тестирование кода.