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 什么用?

解决方案 »

  1.   

    Thread.interrupt什么作用去看API文档,try/catch什么作用去找本入门书
      

  2.   

    问题1:
    代码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帮助~
      

  3.   

    我们使用try-catch控制语句来将那些可能抛出异常的语句包围起来。将可能抛出异常的语句放置到try块中,并将异常发生时要执行的语句放入catch块中。当4异常发生时,控制就会跳到对应的catch块中而执行catch块的语句,不至于发生异常而导致程序终止或者出错。
      

  4.   

    interrupt()唤醒处于sleep状态的线程
    try 用来包围可能出现异常的语句 catch 用处理出现的异常
    把异常基础看看吧
      

  5.   

    看来是个跟我一样的新手
    thread.sleep()是让线程休眠以段时间(ms)以给其他线程一定的执行时间,这样可以避免无法控制线程之间的切换时间,而干扰我们要的结果。
    try-catch语块是捕捉异常的,由于sleep()方法抛出了一个非RuntimeException,所以我们必须进行捕捉.
    interruput()方法是用来终止线程的
    我也是刚学3个月的超级菜鸟 建议多看API API好东西
      

  6.   

    对于try……catch格式: 
    try {可能出现错误的代码块} catch(exception e){进行处理的代码} ; 
    对象变量的声明 用这种方法,如果代码正确,那么程序不经过catch语句直接向下运行; 
    如果代码不正确,则将返回的异常对象和e进行匹配,如果匹配成功,则处理其后面的异常处理代码。(如果用exception来声明e的话,因为exception为所有exception对象的父类,所有肯定匹配成功)。处理完代码后这个例外就完全处理完毕,程序会接着从出现异常的地方向下执行(是从出现异常的地方还是在catch后面呢?利用程序进行验证)。最后程序正常退出。