Spec-Zone.ru › OpenJDK 27

Класс ForkJoinWorkerThread

java.lang.Object
java.lang.Thread
java.util.concurrent.ForkJoinWorkerThread
Все реализуемые интерфейсы:
Runnable
public class ForkJoinWorkerThread extends Thread
Поток, управляемый ForkJoinPool, который выполняет ForkJoinTask. Этот класс можно расширять только для добавления функциональности — переопределяемых методов, связанных с планированием или выполнением, нет. Однако можно переопределить методы инициализации и завершения, вызываемые до и после основного цикла обработки задач. Если вы создадите такой подкласс, вам также потребуется предоставить пользовательскую фабрику ForkJoinPool.ForkJoinWorkerThreadFactory, чтобы использовать ее в ForkJoinPool.
Начиная с:
1.7

Краткое описание вложенных классов

Вложенные классы и интерфейсы, объявленные в классе Thread

Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler
Модификатор и тип Класс Описание
static interface  Thread.Builder
Построитель для объектов Thread и ThreadFactory.
static enum  Thread.State
Состояние потока.
static interface  Thread.UncaughtExceptionHandler
Интерфейс обработчиков, вызываемых при неожиданном завершении Thread из-за неперехваченного исключения.

Краткое описание полей

Поля, объявленные в классе Thread

MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
Модификатор и тип Поле Описание
static final int MAX_PRIORITY
Максимальный приоритет, который может иметь поток.
static final int MIN_PRIORITY
Минимальный приоритет, который может иметь поток.
static final int NORM_PRIORITY
Приоритет по умолчанию, назначаемый потоку.

Краткое описание конструкторов

ForkJoinWorkerThread(ThreadGroup group, ForkJoinPool pool, boolean preserveThreadLocals)
ForkJoinWorkerThread(ForkJoinPool pool)
Модификатор Конструктор Описание
protected
Создает ForkJoinWorkerThread, работающий в указанной группе потоков и пуле и использующий заданную политику сохранения ThreadLocal.
protected
Создает ForkJoinWorkerThread, работающий в указанном пуле.

Краткое описание методов

Модификатор и тип Метод Описание
ForkJoinPool getPool()
Возвращает пул, в котором работает этот поток.
int getPoolIndex()
Возвращает уникальный индекс этого потока в пуле.
int getQueuedTaskCount()
Возвращает (неотрицательную) оценку количества задач в очереди потока.
protected void onStart()
Инициализирует внутреннее состояние после создания объекта, но до обработки каких-либо задач.
protected void onTermination(Throwable exception)
Выполняет очистку, связанную с завершением этого рабочего потока.
void run()
Этот метод должен быть общедоступным, но его никогда не следует вызывать явно.

Методы, объявленные в классе Thread

activeCount, checkAccess, clone, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, isVirtual, join, join, join, join, ofPlatform, ofVirtual, onSpinWait, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, start, startVirtualThread, threadId, toString, yield
Модификатор и тип Метод Описание
static int activeCount()
Возвращает оценку количества активных платформенных потоков в группе потоков текущего потока и ее подгруппах.
final void checkAccess()
Устарел, будет удален: этот элемент API может быть удален в будущей версии.
Изначально этот метод определял, имел ли выполняющийся в данный момент поток разрешение на изменение данного потока.
protected Object clone()
Выбрасывает CloneNotSupportedException, поскольку поток Thread нельзя осмысленно клонировать.
static Thread currentThread()
Возвращает объект Thread для текущего потока.
static void dumpStack()
Выводит трассировку стека текущего потока в стандартный поток ошибок.
static int enumerate(Thread[] tarray)
Копирует в указанный массив все активные платформенные потоки из группы потоков текущего потока и ее подгрупп.
static Map<Thread, StackTraceElement[]> getAllStackTraces()
Возвращает карту трассировок стека всех активных платформенных потоков.
ClassLoader getContextClassLoader()
Возвращает контекстный ClassLoader для этого потока.
static Thread.UncaughtExceptionHandler getDefaultUncaughtExceptionHandler()
Возвращает обработчик по умолчанию, вызываемый при неожиданном завершении потока из-за неперехваченного исключения.
long getId()
Устарел.
Этот метод не является final и может быть переопределен так, чтобы возвращать значение, отличное от идентификатора потока.
final String getName()
Возвращает имя этого потока.
final int getPriority()
Возвращает приоритет этого потока.
StackTraceElement[] getStackTrace()
Возвращает массив элементов трассировки стека, представляющих дамп стека этого потока.
Thread.State getState()
Возвращает состояние этого потока.
final ThreadGroup getThreadGroup()
Возвращает группу потоков этого потока или null, если поток завершился.
Thread.UncaughtExceptionHandler getUncaughtExceptionHandler()
Возвращает обработчик, вызываемый при неожиданном завершении этого потока из-за неперехваченного исключения.
static boolean holdsLock(Object obj)
Возвращает true тогда и только тогда, когда текущий поток удерживает блокировку монитора указанного объекта.
void interrupt()
Прерывает этот поток.
static boolean interrupted()
Проверяет, был ли прерван текущий поток.
final boolean isAlive()
Проверяет, активен ли этот поток.
final boolean isDaemon()
Проверяет, является ли этот поток потоком-демоном.
boolean isInterrupted()
Проверяет, был ли прерван этот поток.
final boolean isVirtual()
Возвращает true, если этот поток является виртуальным.
final void join()
Ожидает завершения этого потока.
final void join(long millis)
Ожидает завершения этого потока не более millis миллисекунд.
final void join(long millis, int nanos)
Ожидает завершения этого потока не более millis миллисекунд и nanos наносекунд.
final boolean join(Duration duration)
Ожидает завершения этого потока в течение указанного периода времени.
static Thread.Builder.OfPlatform ofPlatform()
Возвращает построитель для создания платформенного Thread или ThreadFactory, который создает платформенные потоки.
static Thread.Builder.OfVirtual ofVirtual()
Возвращает построитель для создания виртуального Thread или ThreadFactory, который создает виртуальные потоки.
static void onSpinWait()
Указывает, что вызывающий код временно не может продолжать работу до тех пор, пока не произойдет одно или несколько действий со стороны других процессов.
void setContextClassLoader(ClassLoader cl)
Задает контекстный ClassLoader для этого потока.
final void setDaemon(boolean on)
Помечает этот поток как поток-демон или обычный поток.
static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler ueh)
Задает обработчик по умолчанию, вызываемый при неожиданном завершении потока из-за неперехваченного исключения, если для этого потока не задан другой обработчик.
final void setName(String name)
Изменяет имя этого потока на значение аргумента name.
final void setPriority(int newPriority)
Изменяет приоритет этого потока.
void setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler ueh)
Задает обработчик, вызываемый при неожиданном завершении этого потока из-за неперехваченного исключения.
static void sleep(long millis)
Приостанавливает выполнение текущего потока (временно прекращает его выполнение) на указанное количество миллисекунд с учетом точности системных таймеров и планировщиков.
static void sleep(long millis, int nanos)
Приостанавливает выполнение текущего потока (временно прекращает его выполнение) на указанное количество миллисекунд и указанное количество наносекунд с учетом точности системных таймеров и планировщиков.
static void sleep(Duration duration)
Приостанавливает выполнение текущего потока (временно прекращает его выполнение) на указанный промежуток времени с учетом точности системных таймеров и планировщиков.
void start()
Планирует запуск этого потока.
static Thread startVirtualThread(Runnable task)
Создает виртуальный поток для выполнения задачи и планирует его запуск.
final long threadId()
Возвращает идентификатор этого потока Thread.
String toString()
Возвращает строковое представление этого потока.
static void yield()
Подсказка планировщику о том, что текущий поток готов уступить процессор, которым он сейчас пользуется.

Методы, объявленные в классе Object

equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарел, будет удален: этот элемент API может быть удален в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного времени.

Подробное описание конструкторов

ForkJoinWorkerThread

protected ForkJoinWorkerThread(ThreadGroup group, ForkJoinPool pool, boolean preserveThreadLocals)
Создает ForkJoinWorkerThread, работающий в указанной группе потоков и пуле и использующий заданную политику сохранения ThreadLocal.
Параметры:
group — если значение не равно null, группа потоков для этого потока. В противном случае используется группа потоков текущего потока.
pool — пул, в котором работает этот поток
preserveThreadLocals — если значение true, значения переменных ThreadLocal всегда сохраняются между задачами; в противном случае они могут быть очищены.
Выбрасывает:
NullPointerException — если pool равен null
Начиная с:
19

ForkJoinWorkerThread

protected ForkJoinWorkerThread(ForkJoinPool pool)
Создает ForkJoinWorkerThread, работающий в указанном пуле.
Параметры:
pool — пул, в котором работает этот поток
Выбрасывает:
NullPointerException — если pool равен null

Подробное описание методов

getPool

public ForkJoinPool getPool()
Возвращает пул, в котором работает этот поток.
Возвращает:
пул

getPoolIndex

public int getPoolIndex()
Возвращает уникальный индекс этого потока в пуле. Возвращаемое значение находится в диапазоне от нуля до максимального количества потоков (минус один), которые могут существовать в пуле, и не меняется в течение жизненного цикла потока. Этот метод может быть полезен приложениям, которые отслеживают состояние или собирают результаты для каждого рабочего потока, а не для каждой задачи.
Возвращает:
индекс

getQueuedTaskCount

public int getQueuedTaskCount()
Возвращает (неотрицательную) оценку количества задач в очереди потока.
Возвращает:
(неотрицательную) оценку количества задач в очереди потока
Начиная с:
20
См. также:
  • ForkJoinPool.getQueuedTaskCount()

onStart

protected void onStart()
Инициализирует внутреннее состояние после создания объекта, но до обработки каких-либо задач. Если вы переопределяете этот метод, необходимо вызвать super.onStart() в начале метода. Инициализация требует осторожности: большинство полей должны иметь допустимые значения по умолчанию, чтобы обращения к ним из других потоков выполнялись корректно, даже если этот поток еще не начал обрабатывать задачи.

onTermination

protected void onTermination(Throwable exception)
Выполняет очистку, связанную с завершением этого рабочего потока. Если вы переопределяете этот метод, необходимо вызвать super.onTermination в конце переопределенного метода.
Параметры:
exception — исключение, из-за которого этот поток прерывает работу вследствие неисправимой ошибки, или null, если выполнение завершилось нормально

run

public void run()
Этот метод должен быть общедоступным, но его никогда не следует вызывать явно. Он выполняет основной цикл для запуска ForkJoinTask.
Определен в:
run в интерфейсе Runnable
Переопределяет:
run в классе Thread

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API