All Packages Class Hierarchy This Package Previous Next Index
Schedulers implement the Runnable interface, that is, they can be executed by calling their run() methods. Schedulers are explicitely required not to reserve the CPU for too long. Due to this schedulers must give up the control to other threads sufficiently frequently. This can be done, for example, by letting a scheduler call the yield() method of its thread sufficiently frequently.
Requirement 1: Scheduler and task interfaces form an inheritance hierarchy. A certain scheduler must be able to schedule tasks that implement or extend a corresponding task interface. This enables decoupling of tasks and schedulers.
Requirement 2: If a scheduler interface extends another scheduler interface, it must be able to schedule the same task types that the extended interface does. For example, a PriorityTaskScheduler must be able to schedule Tasks, not just PriorityTasks.
public abstract void stop()
All Packages Class Hierarchy This Package Previous Next Index