- java.lang.Object
-
- java.lang.Thread
-
- java.util.concurrent.ForkJoinWorkerThread
-
- All Implemented Interfaces:
- Runnable
public class ForkJoinWorkerThread extends Thread
A thread managed by aForkJoinPool
, which executesForkJoinTask
s. This class is subclassable solely for the sake of adding functionality -- there are no overridable methods dealing with scheduling or execution. However, you can override initialization and termination methods surrounding the main task processing loop. If you do create such a subclass, you will also need to supply a customForkJoinPool.ForkJoinWorkerThreadFactory
to use it in aForkJoinPool
.- Since:
- 1.7
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
-
-
Field Summary
-
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
-
-
Constructor Summary
Constructors Modifier Constructor and Description protected
ForkJoinWorkerThread(ForkJoinPool pool)
Creates a ForkJoinWorkerThread operating in the given pool.
-
Method Summary
Methods Modifier and Type Method and Description ForkJoinPool
getPool()
Returns the pool hosting this thread.int
getPoolIndex()
Returns the index number of this thread in its pool.protected void
onStart()
Initializes internal state after construction but before processing any tasks.protected void
onTermination(Throwable exception)
Performs cleanup associated with termination of this worker thread.void
run()
This method is required to be public, but should never be called explicitly.-
Methods inherited from class 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
-
-
-
-
Constructor Detail
-
ForkJoinWorkerThread
protected ForkJoinWorkerThread(ForkJoinPool pool)
Creates a ForkJoinWorkerThread operating in the given pool.- Parameters:
pool
- the pool this thread works in- Throws:
NullPointerException
- if pool is null
-
-
Method Detail
-
getPool
public ForkJoinPool getPool()
Returns the pool hosting this thread.- Returns:
- the pool
-
getPoolIndex
public int getPoolIndex()
Returns the index number of this thread in its pool. The returned value ranges from zero to the maximum number of threads (minus one) that have ever been created in the pool. This method may be useful for applications that track status or collect results per-worker rather than per-task.- Returns:
- the index number
-
onStart
protected void onStart()
Initializes internal state after construction but before processing any tasks. If you override this method, you must invokesuper.onStart()
at the beginning of the method. Initialization requires care: Most fields must have legal default values, to ensure that attempted accesses from other threads work correctly even before this thread starts processing tasks.
-
onTermination
protected void onTermination(Throwable exception)
Performs cleanup associated with termination of this worker thread. If you override this method, you must invokesuper.onTermination
at the end of the overridden method.- Parameters:
exception
- the exception causing this thread to abort due to an unrecoverable error, ornull
if completed normally
-
run
public void run()
This method is required to be public, but should never be called explicitly. It performs the main run loop to executeForkJoinTask
s.- Specified by:
run
in interfaceRunnable
- Overrides:
run
in classThread
- See Also:
Thread.start()
,Thread.stop()
,Thread.Thread(ThreadGroup, Runnable, String)
-
-
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 11/06/2005 gemaakt, de laatste keer de 04/03/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-api-rf-java/util/concurrent/ForkJoinWorkerThread.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.