Класс 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.State, Thread.UncaughtExceptionHandler
Краткое описание полей
Поля, объявленные в классе java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт ForkJoinWorkerThread, работающий в заданном пуле. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ForkJoinPool |
getPool() |
Возвращает пул, содержащий этот поток. |
int |
getPoolIndex() |
Возвращает уникальный индекс этого потока в его пуле. |
protected void |
onStart() |
Инициализирует внутреннее состояние после создания, но до обработки каких-либо задач. |
protected void |
onTermination |
Выполняет очистку, связанную с завершением этого потока-работника. |
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, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
Подробное описание конструкторов
ForkJoinWorkerThread
protected ForkJoinWorkerThread(ForkJoinPool pool)
Создаёт ForkJoinWorkerThread, работающий в заданном пуле.
- Параметры:
-
pool- пул, в котором работает этот поток - Исключения:
-
NullPointerException- если пул равен null
Подробное описание методов
getPool
public ForkJoinPool getPool()
Возвращает пул, содержащий этот поток.
- Возвращает:
- пул
getPoolIndex
public int getPoolIndex()
Возвращает уникальный индекс этого потока в его пуле. Возвращаемое значение находится в диапазоне от нуля до максимального числа потоков (минус один), которые могут существовать в пуле, и не изменяется в течение срока службы потока. Этот метод может быть полезен для приложений, которые отслеживают состояние или собирают результаты по каждому потоку-работнику, а не по каждой задаче.
- Возвращает:
- индекс
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, 2021, 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/17/docs/api/java.base/java/util/concurrent/ForkJoinWorkerThread.html