java 之产生死锁的必要条件

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

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

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

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

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

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

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

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

mysql 死锁
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

你可能感兴趣的:(面试,死锁)