Package org.eclipse.net4j.util.concurrent

# Class MonitoredThread

java.lang.Object
java.lang.Thread
org.eclipse.net4j.util.concurrent.MonitoredThread

All Implemented Interfaces:
  `Runnable`

public abstract class MonitoredThread extends Thread

Since:
  2.0
Author:
  Eike Stepper

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`MonitoredThread.MultiThreadMonitor`
`static interface`
`MonitoredThread.ThreadMonitor`

## 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
Constructor
Description
`MonitoredThread(String name, MonitoredThread.ThreadMonitor monitor)`

## Method Summary

Modifier and Type
Method
Description
`protected abstract void`
`doRun()`
`long`
`getTimeStamp()`
`void`
`heartBeat()`
`boolean`
`isIdleTimeoutExpired(long idleTimeOut)`
`void`
`run()`
`void`
`shutdown()`

### 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, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### MonitoredThread

public MonitoredThread(String name, MonitoredThread.ThreadMonitor monitor)

## Method Details

### getTimeStamp

public long getTimeStamp()

### isIdleTimeoutExpired

public boolean isIdleTimeoutExpired(long idleTimeOut)

### heartBeat

public void heartBeat()

### shutdown

public void shutdown()

### run

public void run()

Specified by:
  `run` in interface `Runnable`
Overrides:
  `run` in class `Thread`

### doRun

protected abstract void doRun() throws Exception

Throws:
  `Exception`