package dljd.demo01;
public class ThreadTest08 {
public static void main(String[] args) {
Thread t = new Thread(new MyRunnable2());
t.setName("t");
t.start();
//希望5秒之后唤醒程序
try {
Thread.sleep(1000 * 5);
} catch (InterruptedException e) {
//打印异常信息
// e.printStackTrace();
}
//t线程终止睡眠 这种中断异常的方式是依靠了java的异常处理机制
t.interrupt();//中断线程睡眠
}
}
//创建一个实现类
class MyRunnable2 implements Runnable {
//重点:run当中的异常不能throws,只能try catch
//因为run方法在父类中没有抛出任何异常,子类不能比父类抛出更多的异常
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "----->begin");
try {
//睡眠1年
Thread.sleep(1000 * 60 * 60 * 24 * 365);
} catch (InterruptedException e) {
e.printStackTrace();
}
//一年之后才会执行这个代码
System.out.println(Thread.currentThread().getName() + "----->end");
//调用doOther
// doOther();
}
/*因为这个不是继承方法 所以可以try catch
public void doOther() throws Exception{*/
}
结果:
给我蹦出来个新的java文件
package dljd.demo01;
import static org.junit.jupiter.api.Assertions.*; // junit高亮红色显示
class MyRunnableTest {
}
然后下面的输出栏出现:Error:(3, 36) java: 程序包org.junit.jupiter.api不存在
import static org.junit.jupiter.api.Assertions.*;
看提示我理解的是导包问题,但是不知道对不对!