美文网首页
阻塞:(被动) 挂起(主动) 睡眠(主动)

阻塞:(被动) 挂起(主动) 睡眠(主动)

作者: 赖益文 | 来源:发表于2021-12-06 12:35 被阅读0次

共同本质:

阻塞:(被动)

挂起(主动)

睡眠(主动)

共同本质:

正在执行的进程/线程,由于某些原因(主、被动)释放CPU,暂停执行

(这里讨论的均是处于运行状态的进/线程)

阻塞:(被动)

进/线程被动暂停执行,阻塞的进程仍处于内存中,OS把处理机分配给另一个就绪进程,而让被暂停的进程处于暂停状态。

(自动)阻塞恢复:需要在等待的资源得到满足(例如获得了锁)后,才会进入就绪状态,等待被调度而执行。

阻塞原因:

进程:进程由于提出系统服务请求(如I/O操作),但因为某种原因未得到操作系统的立即响应,或者需要从其他合作进程获得的数据尚未到达等原因。

线程:线程锁问题。

挂起(主动)

用户主动暂停执行进/线程,挂起的进程被换出到外存(磁盘)中。

挂起恢复:需要用户主动控制,挂起时线程不会释放对象锁。

挂起原因:

          终端用户的请求。当终端用户在自己的程序运行期间发现有可疑问题时,希望暂停使自己的程序静止下来。亦即,使正在执行的进程暂停执行;若此时用户进程正处于就绪状态而未执行,则该进程暂不接受调度,以便用户研究其执行情况或对程序进行修改。我们把这种静止状态成为“挂起状态”。

          父进程的请求。有时父进程希望挂起自己的某个子进程,以便考察和修改子进程,或者协调各子进程间的活动。

          负荷调节的需要。当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以保证系统能正常运行。

          操作系统的需要。操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。

          对换的需要。为了缓和内存紧张的情况,将内存中处于阻塞状态的进程换至外存上。

睡眠(主动)

用户主动暂停执行进/线程,睡眠进/线程任存于内存。

睡眠恢复:是自动完成的,睡眠时间到了则恢复到就绪态,睡眠时线程不会释放对象锁。

eg: Thread.sleep(1000);

//将线程睡眠一秒。

相关文章

  • 阻塞:(被动) 挂起(主动) 睡眠(主动)

    共同本质: 阻塞:(被动) 挂起(主动) 睡眠(主动) 共同本质: 正在执行的进程/线程,由于某些原因(主、被动)...

  • 5种IO模型

    个人对同步异步,阻塞非阻塞的理解(存疑) 同步:在等待数据阶段,主动检查数据状态 异步:被动接受数据状态消息 阻塞...

  • 如何睡的更好——《悬壶医话》

    睡眠有主动睡眠和被动睡眠。 被动睡眠就是大多数人的睡眠模式,还看着手机,听着歌,看着电视……糊里糊涂就睡着了。 被...

  • 主动and被动

    不要总是做一个主动的人,那样的话容易让自己不开心。 因为尽心意的为了对方付出了,那么就希望得到对方相同的回应,可是...

  • 主动or被动?

    人们之所以寂寞, 是因为他们不去修桥, 反而筑墙将自己围堵起来。 —...

  • 主动,被动。

    如果可以给这个时代一个标志的话,我想可能是金钱吧。大部分人都在想着自己的钱,或者自己怎样得到钱。有钱的人在想,没钱...

  • 主动被动

    一直认为自己是个十分被动的人,所有的决定、行动都是要到最后一刻,实在是逼的没办法了,才能做出来。但前两天和一个老朋...

  • 被动or主动

    关于被动和主动,来自马璇的分享 在中文的表达方式中,一般情况下不会特别强调主动和被动,也就是说主动和被动的表达比较...

  • 【主动被动】

    主动的人以为事情都是自己作出主动因此一切尽在掌握他是自己的主人但他却不知道事实上自己原来十分被动他更加不知道自己究...

  • 主动or被动

    2020突如其来的新冠疫情给整个社会带来前所未有的冲击,对政府的财政健康运行也造成了一系列的负面影响:收入端...

网友评论

      本文标题:阻塞:(被动) 挂起(主动) 睡眠(主动)

      本文链接:https://www.haomeiwen.com/subject/egtmxrtx.html