线程相关(六)interrput 和 yield

2019-03-08  本文已影响0人  云鲸鱼rain

interrupt
调用interrupt(),通知线程应该中断了。
这个很有意思,是通知线程应该中断,而不是中断线程。
当通知线程的时候,线程当时的状态不同,反应不同。
1.如果线程正处于正常活动的状态,那么interrupt()会将该线程的中断标志设置为true,被设置中断标志后,线程仍然继续运行。
2.如果是正处于阻塞,或者正常运行之后阻塞了,线程会立即推出被阻塞状态,并抛出一个InterruptedException。

yield
yield也很有意思,当一个线程执行Thread.yield(),会给线程调度器一个当前线程愿意让出CPU使用的暗示,但是线程调度器可能会忽略这个暗示。

上一篇下一篇

猜你喜欢

热点阅读