关于多线程中中断与sleep的理解
课堂上讲只有sleep的时候才能对中断信号做出相应反应,我认为这个说法是老师为了好让我们理解而做的一个解释
为此我专门找了一些资料来探究这个问题。
每个线程中有一个标志位用于表示是否中断
在其他线程中通过
t.interrupt();
这个函数向t线程发出中断信号,将标志位置为true;
如果线程在sleep之前或者sleep的时候接收到这个信号,就会在sleep的时候抛出异常,之后程序员就可以用catch语句进行相关的处理
但是也不一定非要用sleep
也可以用
t.inInterrupted();
或
Thread.