Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: Runnable, Thread, Java, concurrency

Создаёт ли Runnable новый поток?

Проверяет понимание того, что интерфейс Runnable не создаёт поток, а лишь определяет задачу для выполнения.

Короткий ответ

Нет, Runnable сам по себе не создаёт новый поток. Это функциональный интерфейс, который содержит метод run(), описывающий задачу. Для выполнения задачи в отдельном потоке нужно передать объект Runnable в конструктор Thread и вызвать start().

Длинный ответ

Что такое Runnable?

Runnable — это функциональный интерфейс в Java, который содержит единственный метод run(). Он предназначен для описания задачи, которая может быть выполнена в потоке. Сам по себе Runnable не создаёт и не управляет потоками — это просто контракт на выполнение кода.

Как запустить Runnable в потоке?

Чтобы выполнить задачу в новом потоке, необходимо создать объект Thread и передать ему экземпляр Runnable. Затем вызвать метод start(), который запускает новый поток и внутри него вызывает run().

Runnable task = () -> System.out.println("Выполняется в потоке: " + Thread.currentThread().getName());
Thread thread = new Thread(task);
thread.start(); // Создаёт новый поток и выполняет задачу

Пример без создания потока

Если просто вызвать run() напрямую, задача выполнится в текущем потоке, без создания нового:

Runnable task = () -> System.out.println("Выполняется в потоке: " + Thread.currentThread().getName());
task.run(); // Выполняется в главном потоке, новый поток не создаётся

Вывод

Runnable — это удобный способ отделить логику задачи от механизма её выполнения. Он не создаёт поток, а лишь определяет, что должно быть сделано. Для многопоточности используйте Thread или ExecutorService с Runnable.

Уровень

  • Рейтинг:

    4

  • Сложность:

    2

Навыки

  • Java

    Java

Ключевые слова

#Runnable

#Thread

#Java

#concurrency

Подпишись на Java Developer в телеграм