2015-09-07 11:44:36 -06:00
|
|
|
|
// concurrency/LiftOff.java
|
2015-11-14 16:18:05 -08:00
|
|
|
|
// <20>2016 MindView LLC: see Copyright.txt
|
2015-06-15 17:47:35 -07:00
|
|
|
|
// Demonstration of the Runnable interface.
|
|
|
|
|
|
|
|
|
|
public class LiftOff implements Runnable {
|
|
|
|
|
protected int countDown = 10; // Default
|
|
|
|
|
private static int taskCount = 0;
|
|
|
|
|
private final int id = taskCount++;
|
|
|
|
|
public LiftOff() {}
|
|
|
|
|
public LiftOff(int countDown) {
|
|
|
|
|
this.countDown = countDown;
|
|
|
|
|
}
|
|
|
|
|
public String status() {
|
|
|
|
|
return "#" + id + "(" +
|
|
|
|
|
(countDown > 0 ? countDown : "Liftoff!") + "), ";
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public void run() {
|
|
|
|
|
while(countDown-- > 0) {
|
|
|
|
|
System.out.print(status());
|
|
|
|
|
Thread.yield();
|
|
|
|
|
}
|
|
|
|
|
}
|
2015-09-07 11:44:36 -06:00
|
|
|
|
}
|