在准备面试的时候看到一个多线程的问题想请教老师
来源:1-5 找出1-1000内的质数
KelvinChung
2019-10-12 15:54:12
如以上代码:请问下老师sleep()函数在自然苏醒之后会抛出interrupedException异常吗??为什么要在以上代码中main中的thread.interrupt();之后才能使线程停止呢?说是interrupt()会使线程进入interruptedException然后退出,那跟自然苏醒进入interruptedException不是一样吗??
2回答
你好!我看了一下代码并运行了,Thread.sleep(10000)结束后并没有抛出异常。如果将interrupt()方法调用写到sleep()方法后是可以的,如下所示:因为interrupt()方法的调用是可以让sleep()方法在使用过程中发生异常。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
KelvinChung
提问者
2019-10-12
interrupt()是设置IsInterrupted()的中断状态,设置了之后遇到return才能退出当前进程,是这样吗?是什么原理呢?
相似问题