`
无量
  • 浏览: 1134000 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAVA基础----java死锁的一个例子

阅读更多
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中死锁的例子

    Java中死锁的例子,非常的例子。经过本人验证

    一个java线程池死锁的例子

    线程池里的线程等待等待队列里的线程执行,等待队列里的等待线程池里的完成,相互等待

    一个Java死锁程序.pdf

    关于java中死锁的介绍。synchronized的一个简单例子

    Java 死锁示例性源代码

    本源代码是博客《Java 多线程编程之七:死锁(附源代码)》附带的实例性源代码。原博客链接地址:http://blog.csdn.net/defonds/archive/2010/01/26/5258120.aspx。

    一个简单的和死锁有关的程序

    这是和死锁有关的问题,和简单的一个例子!

    JAVA_线程同步与死锁

    一个详细讲解JAVA_线程同步与死锁的例子 希望可以帮助到你。

    java死锁问题

    死锁问题是个写代码过程中可能遇到的问题,这是我学习中看到的例子

    Java面试-彻底搞懂死锁的前世今生

    写一个死锁的例子案例一:必然发生死锁案例二:两个账户转账案例三:多人多次转账发生死锁必须满足哪些条件如何定位死锁有哪些解决死锁问题的策略?线上发生死锁怎么办常见修复策略哲学家就餐问题问题描述代码演示...

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    java线程死锁代码示例

    主要介绍了java线程死锁代码示例,分享了一个简单线程死锁的例子,需要的朋友可以参考下。

    线程 JAVA java线程 java线程第3版 java线程第2版第3版合集

    电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关线程的书籍) OReilly.Java.Threads.3rd.Edition.Sep.2004.eBook-DDU Java Thread Programming (Sams) java线程第二版中英文 java线程第二版中英文 ...

    java线程详解

    Java线程:概念与原理 Java线程:创建与启动 Java线程:线程状态的转换 Java线程:线程的同步与锁 ...一、标准例子 二、不用ThreadLocal 三、自己实现个ThreadLocal 四、透过现象看本质 Java线程:大总结

    java7源码-test1:测试1

    13、实现接口之间的转换,即调用第一个接口会自动转换为第二个接口的方法。--com.cn21.invocation包. 14、java核心技术第二章源码--com.java7book.chapter2.dynamicproxy. 15、方法句柄的例子--invoke包。 16、方法...

    java高级特性,涵盖了多种java常用的一些例子

    在运行状态中,对于任意一个类能够获取类中的所有属性和方法,对于任意一个对象能够调用对象中的属性和方法,这种动态获取属性和方法的机制:反射。 设计模式1(单例,工厂) 设计模式2(观察者,适配器) 设计模式...

    Java应用教程(PPT&code)

    涵盖了所有Java开发的基础教程,很详细,实用。 所有基本类库的介绍等。还附赠源码。

    java 多线程设计模式 进程详解

    一个进行同步操作的类 同步块 嵌套锁 死锁 返回到银行的例子 同步静态方法 总结 第四章 等待和通知 返回到银行的例子 等待和通知 wait()、notify()和notifyAll() wait()和sleep() 线程中断 静态方法...

    JAVA_Thinking in Java(中文版 由yyc,spirit整理).chm

    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 ...

Global site tag (gtag.js) - Google Analytics