javax.realtime
Class ImportanceParameters

java.lang.Object
  extended byjavax.realtime.SchedulingParameters
      extended byjavax.realtime.PriorityParameters
          extended byjavax.realtime.ImportanceParameters
All Implemented Interfaces:
java.lang.Cloneable

public class ImportanceParameters
extends PriorityParameters

Importance is an additional scheduling metric that may be used by some priority-based scheduling algorithms during overload conditions to differentiate execution order among threads of the same priority.

In some real-time systems an external physical process determines the period of many threads. If rate-monotonic priority assignment is used to assign priorities many of the threads in the system may have the same priority because their periods are the same. However, it is conceivable that some threads may be more important than others and in an overload situation importance can help the scheduler decide which threads to execute first. The base scheduling algorithm represented by PriorityScheduler must not consider importance.


Constructor Summary
ImportanceParameters(int priority, int importance)
          Create an instance of ImportanceParameters.
 
Method Summary
 int getImportance()
          Gets the importance value.
 void setImportance(int importance)
          Set the importance value.
 java.lang.String toString()
          Print the value of the priority and importance values of the associated instance of Schedulable
 
Methods inherited from class javax.realtime.PriorityParameters
getPriority, setPriority
 
Methods inherited from class javax.realtime.SchedulingParameters
clone
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ImportanceParameters

public ImportanceParameters(int priority,
                            int importance)
Create an instance of ImportanceParameters.

Parameters:
priority - The priority value assigned to schedulable objects that use this parameter instance. This value is used in place of the value passed to Thread.setPriority(int).
importance - The importance value assigned to schedulable objects that use this parameter instance.
Method Detail

getImportance

public int getImportance()
Gets the importance value.

Returns:
The value of importance for the associated instances of Schedulable.

setImportance

public void setImportance(int importance)
Set the importance value. If this parameter object is associated with any schedulable object (by being passed through the schedulable object's constructor or set with a method such as RealtimeThread.setSchedulingParameters(SchedulingParameters)) the importance of those schedulable objects is altered at a moment controlled by the schedulers for the respective schedulable objects.

Parameters:
importance - The value to which importance is set.
Throws:
java.lang.IllegalArgumentException - Thrown if the given importance value is incompatible with the scheduler for any of the schedulable objects which are presently using this parameter object.

toString

public java.lang.String toString()
Print the value of the priority and importance values of the associated instance of Schedulable

Overrides:
toString in class PriorityParameters
Returns:
A string representing the value of priority.