public class TestDeadLock implements Runnable{
public int flag = 1;
static Object o1 = new Object(), o2 = new Object();
public static void main(String[] argv){
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 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");
}
}
}
}
}
相关推荐
java 一个死锁的例子 java 一个死锁的例子 java 一个死锁的例子
Java中死锁的例子,非常的例子。经过本人验证
本源代码是博客《Java 多线程编程之七:死锁(附源代码)》附带的实例性源代码。原博客链接地址:http://blog.csdn.net/defonds/archive/2010/01/26/5258120.aspx。
线程池里的线程等待等待队列里的线程执行,等待队列里的等待线程池里的完成,相互等待
关于java中死锁的介绍。synchronized的一个简单例子
死锁问题是个写代码过程中可能遇到的问题,这是我学习中看到的例子
一个详细讲解JAVA_线程同步与死锁的例子 希望可以帮助到你。
主要介绍了java线程死锁代码示例,分享了一个简单线程死锁的例子,需要的朋友可以参考下。
android webView js方法和java交互例子源码和总结,自己亲自实践的小例子,分享给大家
这是和死锁有关的问题,和简单的一个例子!
主要介绍了java 多线程死锁详解及简单实例的相关资料,需要的朋友可以参考下
涵盖了所有Java开发的基础教程,很详细,实用。 所有基本类库的介绍等。还附赠源码。
涉及多种线程,死锁,同步队列,异步线程,涵盖了java的自定义注解及反射,包含了23种设计模式,含注释, 线程1(基本应用) 线程2(同步,死锁,线程池) 注解和泛型 Java 注解(Annotation)又称 Java 标注,是 ...
电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关...第五章 Java线程编程的例子 第六章 Java线程调度 第七章 Java线程调度例子 第八章 和同步相关的高级主题 第九章 多处理器机器上的并行化 第十章 线程组
第五章 Java线程编程的例子 数据结构和容器 简单的同步例子 一个网络服务器类 AsyncInputStream类 使用TCPServer和AsynclnputStream 总结 第六章 Java线程调度 线程调度概述 何时调度是重要的 调度和线程优先级 ...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
写一个死锁的例子案例一:必然发生死锁案例二:两个账户转账案例三:多人多次转账发生死锁必须满足哪些条件如何定位死锁有哪些解决死锁问题的策略?线上发生死锁怎么办常见修复策略哲学家就餐问题问题描述代码演示...
七、线程死锁 八、线程同步小结 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:volatile关键字 Java线程:新特征-线程池 一、固定大小的线程池 二、单任务线程池 三、可变尺寸的线程池 四、...