A periodic real-time thread.
- By Jim Mickelson, Marc R. Erickson
- March 24, 2001
Java Primer
Through the Looking Glass: Java in Real-Time
Jim Mickelson and Marc R. Erickson
Listing 1. A periodic real-time thread.
import javax.realtime.*;
class PeriodicHelloThread extends RealtimeThread {
public PeriodicHelloThread(PriorityParameters schP,
PeriodicParameters relP) {
super(schP, relP);
}
public void run() {
System.out.println(“Hello Periodic World”);
//This while loop will execute once per period
while (waitForNextPeriod()) { //wait until the start of the
next period
System.out.println(“Hello Again”);
}
}
public static void main(String[] args) {
PriorityParameters scheduling = new PriorityParameters(
//scheduling parms
RealtimeThread.RT_MAX_PRIORITY); // realtime Thread
priority
PeriodicParameters release = new PeriodicParameters(
//release parms
new RelativeTime(0,0), //start immediately, when
schedulable
new RelativeTime(5000,0), //period: 5 sec
new RelativeTime(20, 0), //cost: 20 msec
new RelativeTime(1000, 0), //deadline: 1 sec
null, //no cost overrun handler
null); //no deadline miss handler
PeriodicHelloThread rtThread = new PeriodicHelloThread
(scheduling,release);
rtThread.start();
}
}
About the Authors
Marc R. Erickson is a project manager at Object Technology Inc., a subsidiary of IBM Corp., in Raleigh, NC. He can be contacted at [email protected].