首页 > 编程知识 正文

引起喉阻塞的疾病有,肺阻塞是什么意思

时间:2023-05-03 10:44:18 阅读:22625 作者:3343

什么是线程阻止?

如果某个线程在某个时间点运行某个代码,则该时间点还必须运行另一个线程,但在运行的线程执行完成之前,另一个线程无法获得CPU的执行权。 (调用sleep方法将进入休眠超时状态,但不会传递CPU执行权限。 调用wait方法将CPU的执行权传递给另一个线程。 )此时,线程被阻止。

为什么会发生线程阻塞?

1 .休眠状态:在一个线程运行代码时调用sleep方法后,线程将进入休眠状态,并且必须设置休眠时间。 此时,如果其他线程需要执行,线程将被阻止。 此外,调用sleep方法后,线程不会释放锁定对象。 也就是说,锁仍在该线程手中,CPU的执行权仍在自己手中。 休眠时间过后,该线程将进入就绪状态。 典型的

2 .等待状态:如果某个线程正在运行时调用wait方法,则该线程必须传递CPU的执行权。 这意味着必须释放锁定并将其传递给另一个线程。 该线程进入等待状态,但与休眠状态不同,进入等待状态的线程不需要设置休眠时间,但必须执行notify或notifyall方法将其唤醒。 无法自行唤醒。如果唤醒,线程也会进入就绪状态,但进入就绪状态的线程手无执行权。 也就是说,没有锁。 休眠线程一旦唤醒,进入就绪状态时自己就有锁了。 等待状态线程醒来,典型的“物是人非,权力垂落”

3 .在线程运行期间,如果调用yield方法,则通过将执行权转移到相同或更高级别的线程来优先执行该线程。 此时,该线程可能只运行了一部分,此时即使将执行权转让给其他线程,此时也处于阻塞状态,但该线程可能随时被分配执行权。 这是“中国化的线程”,注重谦虚

4 .关闭状态:如果一个线程在运行时调用了连接方法,则该线程将处于阻止状态,而另一个线程将运行。 在执行结束之前,原始线程不会进入就绪状态。 这类似于“后门”。 本来,要做完你的事,再解决后面的人,但是这个时候,如果有后门的人,就停止你的解决,优先解决后门的事。

5.suspend ()和resume ) ) :这两种方法用于一组。 suspend ) )是将线程置于阻塞状态,其解药为resume ) ),resume ) )否则自己不会恢复。 由于容易出现这种死锁现象,因此jdk1.5及更高版本已被淘汰

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。

  • 相关阅读