Запускал ли потоки в Java

«Запускал ли потоки в Java» — вопрос из категории Многопоточность, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Java потоки можно запускать двумя основными способами:

  1. Наследование от Thread:
class MyThread extends Thread {
    @Override
    public void run() {
        // код потока
    }
}

// Запуск:
new MyThread().start();
  1. Реализация Runnable:
Runnable task = () -> {
    // код потока
};

// Запуск:
new Thread(task).start();

Современный подход - использование ExecutorService вместо прямого создания потоков. Также важно помнить про синхронизацию при работе с общими ресурсами и избегать утечек памяти через ThreadLocal. В Android предпочтительнее использовать Handler, AsyncTask (deprecated) или корутины Kotlin.