Java Api之Thread Sleep(二)

/ JAVA API / 没有评论 / 416浏览

Thread Sleep线程的阻塞(二)



public class SleepDemo2 {
    public static void main(String[] args) {
      /*
       * JDK8之前有一个要求,即:
       * 当一个方法中的局部内部类想引用这个方法的其他局部变量,
       * 那么这个变量必须时final的。
       * 好比main方法中的局部内部类huang中的run方法里,
       * 引用了main方法的局部变量lin,那么这个变量就必须声明为final的;
       */
    Thread lin = new Thread() {
        public void run() {
	    System.out.println("林:刚美容完,睡一会儿。");
		try {
		    Thread.sleep(1000000);
		} catch (InterruptedException e) {
		    System.out.println("林:干嘛呢!干什么!");
		}
		    System.out.println("林:醒了");
	    }
   };
		
    Thread huang = new Thread() {
        public void run() {
	    System.out.println("开始砸墙");
	    for(int i = 0; i < 5; i++) {
		try {
			Thread.sleep(1000);
	       } catch (InterruptedException e) {
		    e.printStackTrace();
		}
		System.out.println("80!");
	    }
	  System.out.println("砸完了!");
	  lin.interrupt();//中断lin线程
	}
    };
		lin.start();
		huang.start();
    }
}

林:刚美容完,睡一会儿。
开始砸墙
80!
80!
80!
80!
80!
砸完了!
林:干嘛呢!干什么!
林:醒了