Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Thread

Поток выполнения: позволяет программе делать несколько дел одновременно.

Доступно с: Java 1.0

Синтаксис

public class Thread implements Runnable
public Thread(Runnable task)

Параметры

ПараметрТипОписание
taskRunnableКод, который выполнится в новом потоке.

Примеры

Создание, запуск и ожидание потока:

void main() throws InterruptedException {
    Thread worker = new Thread(() -> IO.println("Hello from " + Thread.currentThread().getName()));
    worker.start();
    worker.join();
    IO.println("Back in " + Thread.currentThread().getName());
}

Результат:

Hello from Thread-0
Back in main

Примечания

Задача передаётся лямбдой Runnable, запуск — только через start(). Платформенные потоки дорогие: тысячи таких потоков расходуют много памяти. В современном коде потоки обычно не создают вручную, а используют ExecutorService или виртуальные потоки (Java 21).

См. также

  • Thread.start() — Запускает поток: его код начинает выполняться параллельно с вызывающим.
  • Thread.join() — Ждёт, пока поток завершится.
  • Thread.ofVirtual() — Создаёт виртуальный поток — лёгкий поток, которых можно запустить миллионы.
  • ExecutorService — Сервис, который выполняет задачи в пуле потоков.

В учебнике

  • Потоки выполнения — Потоки в Java — класс Thread, запуск через start, ожидание через join, Thread.sleep, имена потоков и непредсказуемый порядок выполнения.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.