Sobes.tech
Senior
45

Cum se creează un thread în Java? Ce metode există pentru crearea și pornirea acestuia?

Companiile au fost întrebate
ИП Ганус Александр Андреевич

Răspuns de la AI

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() для запуска нового потока, чтобы код выполнялся параллельно, а не в текущем потоке.