问答详情
源自:3-3 Java线程停止广为流传的错误方法---interrupt方法

为什么在mian方法中调用Thread.sleep不会抛出interruptExceeption,在run方法中调用就会呢

再看这一节的时候很是纠结这个问题:希望有人可以帮助我解决下这个疑问:为什么在mian方法中调用Thread.sleep不会抛出interruptExceeption,在run方法中调用就会呢

提问者:qq_瑾少_03944252 2017-11-13 14:07

个回答

  • 福工刘德华
    2017-11-13 19:52:01

    实际上这个线程不止一个,还有一个线程是负责启动main负责启动每一个线程,而main中的那个Thread.sleep是使main线程休眠,而run方法中的sleep是让实例化的那条线程休眠,而你在main方法中用interrupt停止实例化的那条线程就会导致api里面所谓的报错,我认为你是错将main方法中的停止main线程的Thread.sleep认为是停止实例化的那条线程,导致这种疑问出现