edu.sdsc.inca.util
Class Worker

java.lang.Object
  extended by java.lang.Thread
      extended by edu.sdsc.inca.util.Worker
All Implemented Interfaces:
java.lang.Runnable
Direct Known Subclasses:
ServerWorker

public abstract class Worker
extends java.lang.Thread

Author:
Cathie Olschanowsky Abstract class to help implement worker threads in higher level classes.

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
Worker(WorkQueue q)
          Create a new Worker which is attached to the named queue.
 
Method Summary
protected abstract  void doWork(java.lang.Object work)
          Abstract method: should do the actual work required.
 void run()
          Start the worker.
 java.lang.String toString()
          Returns the name of the thread -- there really isn't any other state kept in the class.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, 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, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Worker

public Worker(WorkQueue q)
Create a new Worker which is attached to the named queue.

Parameters:
q - the q to attach the worker to
Method Detail

run

public void run()
Start the worker. In order to start the worker in its own thread use start(). Calling run directly will most likely make your program hang.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

doWork

protected abstract void doWork(java.lang.Object work)
Abstract method: should do the actual work required.

Parameters:
work - the socket that was queued

toString

public java.lang.String toString()
Returns the name of the thread -- there really isn't any other state kept in the class.

Overrides:
toString in class java.lang.Thread
Returns:
a string representation of the object