Многопоточность в Java — это поддержка одновременной работы более одного потока. 1 В процессе выполнения приложения некоторые операции осуществляются параллельно друг другу, что повышает производительность Java-приложений. 2
Базовый класс для создания потоков в Java — класс Thread. 5 Существует два способа создания потоков: наследование класса Thread и переопределение метода run() или реализация интерфейса Runnable и передача его реализации классу Thread в качестве аргумента конструктора. 5
В OpenJDK для управления потоками используются виртуальные потоки (virtual threads). 3 Они планируются средой выполнения Java, а не операционной системой, и требуют меньше ресурсов. 3 Виртуальные потоки применяют для задач, которые большую часть времени блокируются, например, ждут завершения операций ввода-вывода. 3
Также в OpenJDK 21 введены виртуальные потоки (virtual threads), которые можно создавать с помощью существующего API (Thread и ThreadFactory). 3