当前位置:嗨网首页>书籍在线阅读

21-案例实现

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

案例实现

根据以下步骤完成本案例。

1.创建一个名为 ConsoleClock 的类,并实现 Runnable 接口:

public class ConsoleClock implements Runnable {

2.实现 run() 方法:

@Override
public void run(){

3.实现一个迭代10次的循环。在每一次迭代中,创建一个 Date 对象,并将其输出至控制台,然后,调用 TimeUnitSECONDS 属性的 sleep() 方法,使当前线程的执行暂停1s。 sleep() 方法会抛出 InterruptedException 异常,因此程序中需要包含处理代码。中断异常的catch部分释放线程使用的资源,这是良好的编程习惯:

  for (int i = 0; i < 10; i++) {
    System.out.printf("%s\n", new Date());
    try {
      TimeUnit.SECONDS.sleep(1);
    } catch (InterruptedException e) {
      System.out.printf("The FileClock has been interrupted");
    }
  }
}

4.在实现线程任务后,开始实现应用程序入口,创建包含 main() 方法的 Main 类:

public class Main {
  public static void main(String[] args) {

5.创建一个 ConsoleClock 类对象和执行该对象的线程,然后开始执行线程:

ConsoleClock clock = new ConsoleClock();
Thread thread=new Thread(clock);
thread.start();

6.调用 TimeUnitSECONDS 属性的 sleep() 方法,使得主线程休眠5s:

try {
  TimeUnit.SECONDS.sleep(5);
} catch (InterruptedException e) {
  e.printStackTrace();
};

7.中断 ConsoleClock 线程:

thread.interrupt();

8.运行案例并查看结果。