死锁发生后,没有任何机制能解除死锁,只能强制结束JVM进程。
因此,在编写多线程应用时,要特别注意防止死锁。因为死锁一旦形成,就只能强制结束进程。
那么我们应该如何避免死锁呢?
答案是:
1.线程获取锁的顺序要一致。即严格按照先获取lockA,再获取lockB的顺序。
2 设置锁的持有时间,超时自动释放锁
死锁发生后,没有任何机制能解除死锁,只能强制结束JVM进程。
因此,在编写多线程应用时,要特别注意防止死锁。因为死锁一旦形成,就只能强制结束进程。
那么我们应该如何避免死锁呢?
答案是:
1.线程获取锁的顺序要一致。即严格按照先获取lockA,再获取lockB的顺序。
2 设置锁的持有时间,超时自动释放锁