import static java.util.concurrent.TimeUnit.SECONDS;
public class MainClass extends Thread {
// This field is volatile because two different threads may access it
volatile boolean keepRunning = true;
public MainClass() {
setDaemon(true);
}
public void run() {
while (keepRunning) {
long now = System.currentTimeMillis();
System.out.printf("%tr%n", now);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
return;
}
}
}
public void pleaseStop() {
keepRunning = false;
}
public static void main(String[] args) {
MainClass thread = new MainClass();
thread.start();
try {
SECONDS.sleep(10);
} catch (InterruptedException ignore) {
}
thread.pleaseStop();
}
}
|