Java实现的死锁示例
来源:互联网 发布:网络营销推广软件 编辑:程序博客网 时间:2024/05/21 06:02
死锁一定要满足这个条件:线程一占用着资源A , 现在又需要申请资源B 。 线程二占用着资源B , 现在又需要申请资源A
class DeadLock implements Runnable {
public int flag = 1;
static Object o1 = new Object(), o2 = new Object();
public void run() {
if (flag == 1) {
synchronized (o1) {//对o1对象加锁
try {
System.out.println(Thread.currentThread().getName()+"持有对O1锁");
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
synchronized (o2) {
System.out.println(Thread.currentThread().getName()+"申请对O2锁");
}
}//对o1对象加锁
}
if (flag == 0) {
synchronized (o2) {//对o2对象加锁
try {
System.out.println(Thread.currentThread().getName()+"持有对O2锁");
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
synchronized (o1) {
System.out.println(Thread.currentThread().getName()+"申请对O1锁");
}
}//对o2对象加锁
}
}
}
public class DeadLockTest {
public static void main(String[] args) {
DeadLock td1 = new DeadLock();
DeadLock td2 = new DeadLock();
td1.flag = 1;
td2.flag = 0;
new Thread(td1).start();
new Thread(td2).start();
}
}
- Java实现的死锁示例
- java的死锁示例
- 死锁的Java实现
- 一个简单的Java死锁示例
- 一个简单的java死锁示例
- 【代码示例】 一个简单的Java死锁
- Java:一个简单的死锁示例
- Java基础:死锁示例
- java死锁代码示例
- 死锁,Java简单示例
- Java死锁代码示例
- 如何实现java的死锁
- Java死锁示例及检测
- 关于Java中多线程死锁的代码示例
- java多线程中死锁情况的一个示例
- java多线程中死锁情况的一个示例
- 关于Java死锁的一种实现
- 导致死锁的SQL示例
- C++中的运算符重载
- selenium 'NoSuchElementException'
- 关于listview重写onintercepttouchevent不响应move和up事件
- 恢复出厂设置后HOME键失效问题
- Java类与对象的一些想法
- Java实现的死锁示例
- bigbluebutton开发
- 借鉴别人的pdo类,慢慢研究
- 本地升级的步骤
- android逆向分析中常用的smali注入代码
- NETBIOS名 和 Host名的不同
- NestedScrollView嵌套ViewPager
- 关于百度云、极光的推送的问题,为什么控制台发送消息成功,而手机端接收不到消息
- Cpp--处理字符串的自定义类