public class TimeSlicer extends Thread {
private long timeslice;
public TimeSlicer(long milliseconds, int priority) {
this.timeslice = milliseconds;
this.setPriority(priority);
// If this is the last thread left, it should not
// stop the VM from exiting
this.setDaemon(true);
}
// Use maximum priority
public TimeSlicer(long milliseconds) {
this(milliseconds, 10);
}
// Use maximum priority and 100ms timeslices
public TimeSlicer() {
this(100, 10);
}
public void run() {
while (true) {
try {
Thread.sleep(timeslice);
}
catch (InterruptedException e) {
}
}
}
} |