Spec-Zone.ru › OpenJDK 21

Класс ForkJoinWorkerThread

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

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

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

Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler

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

Поля, объявленные в классе java.lang.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()
Этот метод должен быть публичным, но его никогда не следует вызывать явно.

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

activeCount, checkAccess, clone, countStackFrames, 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, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, start, startVirtualThread, stop, suspend, threadId, toString, yield

Методы, объявленные в классе java.lang.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

© 1993, 2023, 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/21/docs/api/java.base/java/util/concurrent/ForkJoinWorkerThread.html

Spec-Zone.ru

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