|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.realtime.Scheduler
An instance of Scheduler
manages
the execution of schedulable objects and may implement a feasibility
algorithm. The feasibility algorithm may determine if the
known set of schedulable objects, given their
particular execution ordering (or priority assignment), is a feasible schedule.
Subclasses of Scheduler
are used for alternative scheduling policies
and should define an instance()
class method to return the
default instance of the subclass. The name of the subclass should be descriptive
of the policy, allowing applications to deduce the policy available for the scheduler
obtained via getDefaultScheduler()
(e.g., EDFScheduler
).
Constructor Summary | |
protected |
Scheduler()
Constructor. |
Method Summary | |
protected abstract boolean |
addToFeasibility(Schedulable schedulable)
Inform the scheduler and cooperating facilities that the resource demands (as expressed in the associated instances of SchedulingParameters ,
ReleaseParameters ,
MemoryParameters , and
ProcessingGroupParameters )
of this instance of Schedulable
will be considered in the feasibility analysis of the
associated Scheduler until further notice. |
abstract void |
fireSchedulable(Schedulable schedulable)
Trigger the execution of a schedulable object (like an AsyncEventHandler ). |
static Scheduler |
getDefaultScheduler()
Return a reference to the default scheduler. |
abstract java.lang.String |
getPolicyName()
Used to determine the policy of the Scheduler . |
abstract boolean |
isFeasible()
Returns true if and only if the system is able to satisfy the constraints expressed in the release parameters of the existing schedulable objects. |
protected abstract boolean |
removeFromFeasibility(Schedulable schedulable)
Inform the scheduler and cooperating facilities that the resource demands, as expressed in the associated instances of SchedulingParameters ,
ReleaseParameters ,
MemoryParameters , and
ProcessingGroupParameters ,
of this instance of Schedulable
should no longer be considered in the feasibility analysis of the
associated Scheduler . |
static void |
setDefaultScheduler(Scheduler scheduler)
Set the default scheduler. |
boolean |
setIfFeasible(Schedulable schedulable,
ReleaseParameters release,
MemoryParameters memory)
Returns true if, after considering the values of the parameters, the task set would still be feasible. |
boolean |
setIfFeasible(Schedulable schedulable,
ReleaseParameters release,
MemoryParameters memory,
ProcessingGroupParameters group)
Returns true if, after considering the values of the parameters, the task set would still be feasible. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
protected Scheduler()
Method Detail |
protected abstract boolean addToFeasibility(Schedulable schedulable)
SchedulingParameters
,
ReleaseParameters
,
MemoryParameters
, and
ProcessingGroupParameters
)
of this instance of Schedulable
will be considered in the feasibility analysis of the
associated Scheduler
until further notice.
Whether the resulting system is feasible or not, the addition is completed.public boolean setIfFeasible(Schedulable schedulable, ReleaseParameters release, MemoryParameters memory)
public boolean setIfFeasible(Schedulable schedulable, ReleaseParameters release, MemoryParameters memory, ProcessingGroupParameters group)
public static Scheduler getDefaultScheduler()
public abstract java.lang.String getPolicyName()
Scheduler
.public abstract boolean isFeasible()
protected abstract boolean removeFromFeasibility(Schedulable schedulable)
SchedulingParameters
,
ReleaseParameters
,
MemoryParameters
, and
ProcessingGroupParameters
,
of this instance of Schedulable
should no longer be considered in the feasibility analysis of the
associated Scheduler
.
Whether the resulting system is feasible or not, the subtraction is completed.public static void setDefaultScheduler(Scheduler scheduler)
RealtimeThread
when they are constructed.
The default scheduler is set to the required PriorityScheduler
at startup.scheduler
- The Scheduler
that becomes the default scheduler
assigned to new threads.
If null nothing happens.public abstract void fireSchedulable(Schedulable schedulable)
AsyncEventHandler
).schedulable
- The schedulable object to make active.
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |