Spec-Zone.ru › OpenJDK 25

Класс 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

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

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

MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY

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

ForkJoinWorkerThread(ThreadGroup group, ForkJoinPool pool, boolean preserveThreadLocals)
ForkJoinWorkerThread(ForkJoinPool pool)
Модификатор Конструктор Описание
protected
Создаёт ForkJoinWorkerThread, работающий в указанной группе потоков и пуле, с заданной политикой сохранения ThreadLocals.
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, stop, threadId, toString, yield

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

equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

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

ForkJoinWorkerThread

protected ForkJoinWorkerThread(ThreadGroup group, ForkJoinPool pool, boolean preserveThreadLocals)
Создаёт ForkJoinWorkerThread, работающий в указанной группе потоков и пуле, с заданной политикой сохранения ThreadLocals.
Параметры:
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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ForkJoinWorkerThread.html

Spec-Zone.ru

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