Sobes.tech
Назад к вопросам
Senior
4

Как создать поток в Java? Какие методы есть для создания и запуска?

Компании, где спрашивали
ИП Ганус Александр Андреевич

Ответ от нейросети

sobes.tech AI

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

  1. Наследование от класса Thread
class MyThread extends Thread {
    public void run() {
        System.out.println("Поток запущен");
    }
}

MyThread t = new MyThread();
t.start(); // запускает поток, вызывает run() в новом потоке
  1. Реализация интерфейса Runnable
class MyRunnable implements Runnable {
    public void run() {
        System.out.println("Поток запущен");
    }
}

Thread t = new Thread(new MyRunnable());
t.start();
  1. Использование лямбда-выражения (Java 8+)
Thread t = new Thread(() -> System.out.println("Поток запущен"));
t.start();
  1. Использование ExecutorService (рекомендуемый способ для управления потоками)
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(() -> System.out.println("Поток через ExecutorService"));
executor.shutdown();

Основные методы для управления потоком:

  • start() — запускает поток, вызывает метод run() в новом потоке.
  • run() — содержит код, который выполняется в потоке; вызывается автоматически после start(), не рекомендуется вызывать напрямую.
  • join() — ожидает завершения потока.
  • sleep(long millis) — приостанавливает выполнение текущего потока на заданное время.

Важно: всегда использовать start() для запуска нового потока, чтобы код выполнялся параллельно, а не в текущем потоке.