Runnable
Задача без аргументов и без результата.
Доступно с: Java 1.0
Синтаксис
@FunctionalInterface
public interface Runnable {
void run();
}Примеры
Задача как значение:
void repeat(int times, Runnable action) {
for (int i = 0; i < times; i++) {
action.run();
}
}
void main() {
repeat(3, () -> IO.println("tick"));
}Результат:
tick
tick
tickПримечания
Самый старый функциональный интерфейс — с ним создаются потоки new Thread(runnable) и задачи для ExecutorService. Метод run() не может бросать проверяемые исключения и не возвращает результат; если нужен результат, используйте Callable или Supplier.
См. также
- Thread.start() — Запускает поток: его код начинает выполняться параллельно с вызывающим.
- ExecutorService.submit() — Отправляет задачу в пул и сразу возвращает `Future` для её результата.
- Supplier — Поставщик: функция без аргументов, которая возвращает значение.
В учебнике
- Функциональные интерфейсы — Функциональные интерфейсы в Java: аннотация @FunctionalInterface, стандартные Function, Predicate, Consumer, Supplier и их комбинирование.