Інтерфейс Runnable описує клас, екземпляри якого можна запускати як потік. Сам інтерфейс дуже простий, описує лише один метод ( run ), який автоматично викликається Java під час запуску потоку. Інтерфейс Runnable зазвичай використовується в поєднанні з класом Thread.
Виконуваний інтерфейс у Java є інтерфейс, екземпляри якого можуть працювати як потік. Під час роботи з Threads виконуваний інтерфейс діє як основний елемент мови програмування Java. Класи Java, створені для запуску потоків, повинні реалізовувати цей інтерфейс.
ПРОХОДНИЙ. Стан потоку для поточного потоку. Потік у доступному для виконання стані виконується у віртуальній машині Java, але він може чекати інших ресурсів від операційної системи, наприклад процесора.
RUNNABLE — це потік, який готовий до запуску, але може бути або не працювати, залежно від доступності ресурсів ЦП. РАБОТНИЙ потік – це той, який зараз виконує свій код. ЗАБЛОКОВАНИЙ потік — це той, який очікує отримання блокування або монітора для входу в синхронізований блок або метод.
Інтерфейс Runnable Це функціональний інтерфейс, тому його можна використовувати як ціль призначення для лямбда-виразу або посилання на метод. Публічний інтерфейс @FunctionalInterface Runnable. Інтерфейс Runnable має бути реалізований будь-яким класом, екземпляри якого призначені для виконання потоком.
Спільне використання ресурсів: коли кілька потоків спільно використовують ресурси, впровадження Runnable часто є кращим підходом. Це тому, що один екземпляр завдання може бути спільно використаний кількома потоками, сприяючи кращому спільному використанню ресурсів і зниженню потенційної конкуренції за ресурси.