java死锁及解决方案

Posted Ipeter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java死锁及解决方案相关的知识,希望对你有一定的参考价值。

死锁是两个甚至多个线程被永久阻塞时的一种运行局面,这种局面的生成伴随着至少两个线程和两个或者多个资源。
避免死锁方针:
a:避免嵌套封锁:这是死锁最主要的原因的,如果你已经有一个资源了就要避免封锁另一个资源。如果你运行时只有一个对象封锁,那是几乎不可能出现一个死锁局面的。
b:只对有请求的进行封锁:你应当只想你要运行的资源获取封锁.如果我们只对它所属领域中的一个感兴趣,那我们应当封锁住那个特殊的领域而并非完全的对象。
c:避免无限期的等待:如果两个线程正在等待对象结束,无限期的使用线程加入,如果你的线程必须要等待另一个线程的结束,若是等待进程的结束加入最好准备最长时间。





以上是关于java死锁及解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Java程序死锁问题原理及解决方案

Java 死锁及解决方法

java 死锁产生原因及解锁(转)

一个多线程死锁案例,如何避免及解决死锁问题?

java 死锁

试述死锁产生的原因和解决办法