import java.util.*;
public class TestInterrupt {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
try {Thread.sleep(10000);}
catch (InterruptedException e) {}
thread.interrupt();
}
}class MyThread extends Thread {
boolean flag = true;
public void run(){
while(flag){
System.out.println("==="+new Date()+"===");
try {
sleep(1000);
} catch (InterruptedException e) {
return;
}
}
}
}
问的是 里面的 try {Thread.sleep(10000);}
catch (InterruptedException e) {}
thread.interrupt(); 是什么作用? try 和catch 什么用?
public class TestInterrupt {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
try {Thread.sleep(10000);}
catch (InterruptedException e) {}
thread.interrupt();
}
}class MyThread extends Thread {
boolean flag = true;
public void run(){
while(flag){
System.out.println("==="+new Date()+"===");
try {
sleep(1000);
} catch (InterruptedException e) {
return;
}
}
}
}
问的是 里面的 try {Thread.sleep(10000);}
catch (InterruptedException e) {}
thread.interrupt(); 是什么作用? try 和catch 什么用?
代码try
{
Thread.sleep(10000);
}
catch (InterruptedException e)
{
thread.interrupt(); } 中的thread.interrupt的作用是中断线程问题2:
Try和Catch的作用是异常处理
Try
{
……
}块中加入可能出现异常的代码
Catch (Exception e)
{
……
}块中负责捕获,处理或不处理捕获的异常解释一下这里的异常类型为InterruptedException如果线程在调用 Object 类的 wait()、wait(long) 或 wait(long, int) 方法,或者该类的 join()、join(long)、join(long, int)、sleep(long) 或 sleep(long, int) 方法过程中受阻,则其中断状态将被清除,它还将收到一个 InterruptedException。因此捕获异常的类型为此类型,并执行interrupt中断线程。建议查询jdk帮助~
try 用来包围可能出现异常的语句 catch 用处理出现的异常
把异常基础看看吧
thread.sleep()是让线程休眠以段时间(ms)以给其他线程一定的执行时间,这样可以避免无法控制线程之间的切换时间,而干扰我们要的结果。
try-catch语块是捕捉异常的,由于sleep()方法抛出了一个非RuntimeException,所以我们必须进行捕捉.
interruput()方法是用来终止线程的
我也是刚学3个月的超级菜鸟 建议多看API API好东西
try {可能出现错误的代码块} catch(exception e){进行处理的代码} ;
对象变量的声明 用这种方法,如果代码正确,那么程序不经过catch语句直接向下运行;
如果代码不正确,则将返回的异常对象和e进行匹配,如果匹配成功,则处理其后面的异常处理代码。(如果用exception来声明e的话,因为exception为所有exception对象的父类,所有肯定匹配成功)。处理完代码后这个例外就完全处理完毕,程序会接着从出现异常的地方向下执行(是从出现异常的地方还是在catch后面呢?利用程序进行验证)。最后程序正常退出。