Класс 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 pool) Создаёт ForkJoinWorkerThread, работающий в заданном пуле. |
Краткое описание методов
| Модификатор и тип | Метод и описание |
|---|---|
ForkJoinPool |
getPool() Возвращает пул, в котором работает этот поток. |
int |
getPoolIndex() Возвращает уникальный индекс этого потока в его пуле. |
protected void |
onStart() Инициализирует внутреннее состояние после создания, но перед обработкой каких-либо задач. |
protected void |
onTermination(Throwable exception) Выполняет очистку, связанную с завершением этого потока-рабочего. |
void |
run() Этот метод должен быть публичным, но его никогда не следует вызывать явно. |
Методы, унаследованные от класса java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
Методы, унаследованные от класса java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Подробное описание конструкторов
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 - См. также:
-
Thread.start(),Thread.stop(),Thread(ThreadGroup, Runnable, String)
© 1993, 2020, 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.