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

来源:3-3 Java线程停止广为流传的错误方法---interrupt方法

qq_瑾少_03944252

2017-11-13 14:07

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

写回答 关注

1回答

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

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



    qq_环时空... 回复慕UI180...

    就是说run方法里的Thread和mian方法里的Thread不是同一个。

    2018-08-16 18:24:11

    共 2 条回复 >

深入浅出Java多线程

带你一起深入浅出多线程,掌握基础,展望进阶路线

186088 学习 · 464 问题

查看课程

相似问题