简单的死锁
来源:互联网 发布:微耕门禁软件 编辑:程序博客网 时间:2024/06/10 01:23
//死锁
public class TestDeadLock implements Runnable {
public int flag = 1;
static Object o1 = new Object(), o2 = new Object();
public void run() {
System.out.println("flag=" + flag);
if (flag == 1) {
synchronized (o1) {
try {
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
synchronized (o2) {
System.out.println("1");
}
}
}
if (flag == 0) {
synchronized (o2) {
try {
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
synchronized (o1) {
System.out.println("0");
}
}
}
}
public static void main(String[] args) {
TestDeadLock td1 = new TestDeadLock();
TestDeadLock td2 = new TestDeadLock();
td1.flag = 1;
td2.flag = 0;
Thread t1 = new Thread(td1);
Thread t2 = new Thread(td2);
t1.start();
t2.start();
}
}
public class TestDeadLock implements Runnable {
public int flag = 1;
static Object o1 = new Object(), o2 = new Object();
public void run() {
System.out.println("flag=" + flag);
if (flag == 1) {
synchronized (o1) {
try {
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
synchronized (o2) {
System.out.println("1");
}
}
}
if (flag == 0) {
synchronized (o2) {
try {
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
synchronized (o1) {
System.out.println("0");
}
}
}
}
public static void main(String[] args) {
TestDeadLock td1 = new TestDeadLock();
TestDeadLock td2 = new TestDeadLock();
td1.flag = 1;
td2.flag = 0;
Thread t1 = new Thread(td1);
Thread t2 = new Thread(td2);
t1.start();
t2.start();
}
}
阅读全文
0 0
- 死锁的简单实现
- 简单的死锁例子
- 死锁的简单理解
- 简单的死锁模拟
- 一个简单的死锁
- 简单的死锁例子
- 简单的死锁
- 简单的死锁
- 简单的死锁的例子
- 一个简单的死锁例子
- 一个死锁的简单例子
- 一个简单的死锁例子
- 一个死锁的简单例子
- 一个简单的死锁示例
- Java 死锁的简单实例
- 一个简单死锁的例子
- 一个简单的死锁程序
- 一个简单的死锁例子
- JSP自定义标签
- 请到我的新浪微博讨论问题
- 【备忘】最新优达学城udacity无人驾驶工程师视频教程
- 关于行人检测Cascade Classification我搜到的资料集合
- 欢迎使用CSDN-markdown编辑器
- 简单的死锁
- 我的React_Native 用到的第三方(持续更新中)
- chapter6 逆矩阵,列空间,秩与零空间
- springAOP纯实现
- SuperMap iObject常见问题解答集锦(十二)
- Java多线程的三种实现方式
- 获得 需要指定的某月某号的时间
- python pandas 序列的生成
- 第十三章:字符串