死锁产生的原因以及解决方案

一.原因:

1.使用互斥锁.

2.除非主动释放,负责不能被抢占.

3.占用一把锁不释放,等待其它锁资源(保持现状).

4.锁形成环路.

二.解决方案:

给锁编号,上锁的时候从小到大依次上锁,譬如如果一个线程要上1号和2号两把锁,如果1号锁被占用,不能上2号锁,等其它线程释放1号锁资源后,依次上锁.

你可能感兴趣的:(java,jvm,开发语言)