java的一个死锁的例子
package com.out.test;
public class Test6 implements Runnable{
public static Object o1 = new Object();
public static Object o2 = new Object();
public static int i = 1;
public int flag=1;
public void run() {
System.out.println(i++ + "线程启动。。。。");
if (flag == 1) {
synchronized(o1) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (o2) {
System.out.println(i + "线程结束");
}
}
}
if (flag == 0) {
synchronized(o2) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (o1) {
System.out.println(i + "线程结束");
}
}
}
}
public static void main(String[] args) {
Test6 lock1 = new Test6();
Test6 lock2 = new Test6();
lock1.flag = 1;
lock2.flag = 0;
Thread thread1 = new Thread(lock1);
Thread thread2 = new Thread(lock2);
thread1.start();
thread2.start();
}
}
分享到:
相关推荐
java 一个死锁的例子 java 一个死锁的例子 java 一个死锁的例子
Java中死锁的例子,非常的例子。经过本人验证
线程池里的线程等待等待队列里的线程执行,等待队列里的等待线程池里的完成,相互等待
关于java中死锁的介绍。synchronized的一个简单例子
本源代码是博客《Java 多线程编程之七:死锁(附源代码)》附带的实例性源代码。原博客链接地址:http://blog.csdn.net/defonds/archive/2010/01/26/5258120.aspx。
这是和死锁有关的问题,和简单的一个例子!
一个详细讲解JAVA_线程同步与死锁的例子 希望可以帮助到你。
死锁问题是个写代码过程中可能遇到的问题,这是我学习中看到的例子
写一个死锁的例子案例一:必然发生死锁案例二:两个账户转账案例三:多人多次转账发生死锁必须满足哪些条件如何定位死锁有哪些解决死锁问题的策略?线上发生死锁怎么办常见修复策略哲学家就餐问题问题描述代码演示...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
主要介绍了java线程死锁代码示例,分享了一个简单线程死锁的例子,需要的朋友可以参考下。
电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关线程的书籍) OReilly.Java.Threads.3rd.Edition.Sep.2004.eBook-DDU Java Thread Programming (Sams) java线程第二版中英文 java线程第二版中英文 ...
Java线程:概念与原理 Java线程:创建与启动 Java线程:线程状态的转换 Java线程:线程的同步与锁 ...一、标准例子 二、不用ThreadLocal 三、自己实现个ThreadLocal 四、透过现象看本质 Java线程:大总结
13、实现接口之间的转换,即调用第一个接口会自动转换为第二个接口的方法。--com.cn21.invocation包. 14、java核心技术第二章源码--com.java7book.chapter2.dynamicproxy. 15、方法句柄的例子--invoke包。 16、方法...
在运行状态中,对于任意一个类能够获取类中的所有属性和方法,对于任意一个对象能够调用对象中的属性和方法,这种动态获取属性和方法的机制:反射。 设计模式1(单例,工厂) 设计模式2(观察者,适配器) 设计模式...
涵盖了所有Java开发的基础教程,很详细,实用。 所有基本类库的介绍等。还附赠源码。
一个进行同步操作的类 同步块 嵌套锁 死锁 返回到银行的例子 同步静态方法 总结 第四章 等待和通知 返回到银行的例子 等待和通知 wait()、notify()和notifyAll() wait()和sleep() 线程中断 静态方法...
2.7 我们的第一个Java程序 2.8 注释和嵌入文档 2.8.1 注释文档 2.8.2 具体语法 2.8.3 嵌入HTML 2.8.4 @see:引用其他类 2.8.5 类文档标记 2.8.6 变量文档标记 2.8.7 方法文档标记 2.8.8 文档示例 2.9 编码样式 2.10 ...