rcf.core.concurrent.schedule
Interface ConcurrentRunnableTask

All Superinterfaces:
EventSource, InterruptibleTask, Runnable, RunnableTask, Task
All Known Subinterfaces:
Application, Framework, Service
All Known Implementing Classes:
AbstractApplication, AbstractService, Framework.Default, Main

@Revision(value="$Revision: 1.2 $",
          date="$Date: 2006/12/11 21:29:06 $",
          tag="$Name:  $")
public interface ConcurrentRunnableTask
extends Runnable, InterruptibleTask

TODO: Javadoc TODO: Turn state names into hyperlinks Normal states: Runnable -> Committed

TODO: Unit tests, Code review, Javadoc review, Seal/Finalize TODO: equals, hashCode, toString

Version:
$Revision: 1.2 $
Author:
Greg Gibeling

Nested Class Summary
 
Nested classes/interfaces inherited from interface rcf.core.concurrent.schedule.Task
Task.State
 
Method Summary
 void commit()
          TODO: Javadoc Fully commit.
 void interrupt()
          TODO: Javadoc Stop running VERY quickly, something has happened that requires an immediate cessation of computation.
 void run()
          TODO: Javadoc Starts the task running.
 
Methods inherited from interface rcf.core.concurrent.schedule.Task
taskState
 
Methods inherited from interface rcf.core.concurrent.events.EventSource
events, getSequenceNumber, incSequenceNumber, isSyndicated, syndicate
 

Method Detail

commit

void commit()
TODO: Javadoc Fully commit. Stop accepting new work and gracefully finish anything that's in progress. Transition to Task.State.Committing and then Task.State.Committed. If the commit takes too long (stays in Task.State.Committing), the interrupt() method may be used to force an immediate cessation of activity.


interrupt

void interrupt()
TODO: Javadoc Stop running VERY quickly, something has happened that requires an immediate cessation of computation. Transition to Task.State.Interrupting and then Task.State.Interrupted

Specified by:
interrupt in interface InterruptibleTask
See Also:
InterruptibleTask.interrupt()

run

void run()
TODO: Javadoc Starts the task running. May not perform the majority of the work, may just spawn worker threads, etc...

Specified by:
run in interface Runnable
Specified by:
run in interface RunnableTask
See Also:
RunnableTask.run()