Класс 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
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт ForkJoinWorkerThread, работающий в указанной группе потоков и пуле, с заданной политикой сохранения ThreadLocals. |
|
protected |
Создаёт ForkJoinWorkerThread, работающий в указанном пуле. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ForkJoinPool |
getPool() |
Возвращает пул, в котором работает этот поток. |
int |
getPoolIndex() |
Возвращает уникальный индекс этого потока в его пуле. |
int |
getQueuedTaskCount() |
Возвращает (неотрицательную) оценку количества задач в очереди потока. |
protected void |
onStart() |
Инициализирует внутреннее состояние после создания, но до обработки любых задач. |
protected void |
onTermination |
Выполняет очистку, связанную с завершением этого рабочего потока. |
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
Подробное описание конструкторов
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
- См. также:
onStart
protected void onStart()
Инициализирует внутреннее состояние после создания, но до обработки любых задач. Если вы переопределяете этот метод, необходимо вызвать
super.onStart() в начале метода. Инициализацию следует выполнять осторожно: большинство полей должны иметь допустимые значения по умолчанию, чтобы обращения к ним из других потоков работали корректно, даже если этот поток ещё не начал обрабатывать задачи.onTermination
protected void onTermination(Throwable exception)
Выполняет очистку, связанную с завершением этого рабочего потока. Если вы переопределяете этот метод, необходимо вызвать
super.onTermination в конце переопределённого метода.- Параметры:
-
exception— исключение, вызвавшее аварийное завершение этого потока из-за неисправимой ошибки, илиnull, если выполнение завершилось нормально
run
public void run()
Этот метод должен быть открытым, но его не следует вызывать явно. Он выполняет основной цикл, запускающий
ForkJoinTask.
© 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