Package jadex.commons.concurrent
Class MonitoredThread
- java.lang.Object
-
- java.lang.Thread
-
- jadex.commons.concurrent.MonitoredThread
-
- All Implemented Interfaces:
java.lang.Runnable
public class MonitoredThread extends java.lang.ThreadThread class used by MonitoredThreadPoolExecutor, contains additional state about the thread to monitor thread behavior.
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanborrowedFlag if the thread was borrowed.protected longdepartureDeparture time of the thread from the pool.protected intnumberThe thread number assigned to the thread.protected MonitoredThreadPoolExecutororiginThread pool executor that created the thread.
-
Constructor Summary
Constructors Constructor Description MonitoredThread(java.lang.Runnable r, MonitoredThreadPoolExecutor origin)Creates the thread.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidborrow()Notify the pool that the thread is borrowed and return the return to the pool is expected to be delayed.longgetDeparture()Gets the time the thread departed from the pool.intgetNumber()Gets the thread number.booleanisBlocked()Returns if the thread is currently blocked.booleanisBorrowed()Returns if the thread is currently borrowed.voidsetDeparture(long departure)Sets the time the thread departed from the pool.voidsetNumber(int num)Sets the thread number.static voidtryBorrow()Try to borrow the thread.-
Methods inherited from class 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, run, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Field Detail
-
origin
protected MonitoredThreadPoolExecutor origin
Thread pool executor that created the thread.
-
number
protected int number
The thread number assigned to the thread.
-
departure
protected volatile long departure
Departure time of the thread from the pool.
-
borrowed
protected volatile boolean borrowed
Flag if the thread was borrowed.
-
-
Constructor Detail
-
MonitoredThread
public MonitoredThread(java.lang.Runnable r, MonitoredThreadPoolExecutor origin)Creates the thread.- Parameters:
r- The runnable to execute.origin- The originating thread pool.
-
-
Method Detail
-
getNumber
public int getNumber()
Gets the thread number.- Returns:
- The thread number.
-
setNumber
public void setNumber(int num)
Sets the thread number.- Parameters:
num- The thread number.
-
getDeparture
public long getDeparture()
Gets the time the thread departed from the pool.- Returns:
- The time the thread departed from the pool.
-
setDeparture
public void setDeparture(long departure)
Sets the time the thread departed from the pool.- Parameters:
departure- The time the thread departed from the pool.
-
borrow
protected void borrow()
Notify the pool that the thread is borrowed and return the return to the pool is expected to be delayed.
-
isBorrowed
public boolean isBorrowed()
Returns if the thread is currently borrowed.- Returns:
- True, if borrowed.
-
isBlocked
public boolean isBlocked()
Returns if the thread is currently blocked.- Returns:
- True, if blocked.
-
tryBorrow
public static final void tryBorrow()
Try to borrow the thread. If thread is non-monitored, this does nothing.
-
-