java 面试宝典之死锁

 

1.死锁 怎么去打破。

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

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

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

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

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

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

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

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

你可能感兴趣的:(java 面试宝典之死锁)