java 面试宝典之死锁

 

1.死锁 怎么去打破。

1.死锁发生的原因:是多个进程并发请求 争夺系统资源而产生的相互等待情况.

2.本质问题:1.系统资源有限。2.进程推进顺序不合理。

3.死锁产生的4个必要条件:

    3.1.进程互斥 资源分配给进程之后,其他的进程都不能使用。

    3.2.占有资源且正在等待  占有资源,等待其他进程释放资源占用

    3.3.不可抢占资源   进程一直在等待,不能直接抢占其他线程占用的资源。

    3.4.循环等待   A->B,B->C,C->A。

4.从上面的4个必要条件入手,就可以打破死锁了,只要是不满足四个必要条件就可以破解。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.死锁的概念 1.1 什么是死锁 先来看下一个例子:连接两个地方之间有一座桥,这座桥很窄,一次只能容纳一辆车的通...
    逸滨2333阅读 841评论 0 0
  • 死锁的概念 死锁的定义 在多道程序系统中,由于多个进程的并发执行,改善了系统资源的利用率并提高了系统的处理能力。然...
    CodeKing2017阅读 1,505评论 0 4
  • 一.死锁的概念以及产生死锁的原因 1.死锁的定义 在多道程序系统中,由于多个进程的并发执行,改善了系统资源的利用率...
    Chasel_H阅读 1,144评论 0 4
  • 1、竞态条件: 定义:竞态条件指的是一种特殊的情况,在这种情况下各个执行单元以一种没有逻辑的顺序执行动作,从而导致...
    Hughman阅读 1,338评论 0 7
  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 4,179评论 0 23