| 
     
   
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(); 
  } 
} 
 
            
          
     
   
    
    |