死锁
作者:
坚强一点 | 来源:发表于
2017-09-29 15:24 被阅读0次
发生死锁的4个必要条件
- 互斥条件 : 一个资源同一时间只能被一个线程获得使用资格
- 请求和保持条件 : 对已获得的资源在为使用完之前不可释放
- 不可剥夺条件 : 不能通过外部因素强制释放已获得的资源
- 环路等待条件 : 若干进程之间形成一种头尾相接的循环等待资源关
死锁举例
public class test {
private Object lock1 = new Object();
private Object lock2 = new Object();
public void func1(){
synchronized(lock1){
// dosomething
synchronized(lock2){
// dosomething
}
}
}
public void func2(){
synchronized(lock2){
// dosomething
synchronized(lock1){
// dosomething
}
}
}
}

gh_7850fcde060f_258.jpg
本文标题:死锁
本文链接:https://www.haomeiwen.com/subject/rxmiextx.html
网友评论