《java 多线程中的死锁》
2012-04-16 23:44
363 查看
class Dead implements Runnable//实现接口 { private boolean flag; Dead(boolean flag) { this.flag = flag; } public void run() { if (flag) { while (true) { //同步代码块 synchronized(Locks.obj1)//锁1 { System.out.println("if 1 启动!"); synchronized(Locks.obj2)//锁2 { System.out.println("if 2 启动!"); } } } } else { while (true) { synchronized(Locks.obj2)//锁2 { System.out.println("else 2 启动!"); synchronized(Locks.obj1)//锁1 { System.out.println("else 1 启动!"); } } } } } } class Locks//定义锁对象 { static Object obj1 = new Object(); static Object obj2 = new Object(); } class DeadLock { public static void main(String[] args) { Thread t1 = new Thread(new Dead(true));//开启两个线程 Thread t2 = new Thread(new Dead(false)); t1.start();//启动两个线程 t2.start(); } }
相关文章推荐
- Java笔记3 多线程<1>线程概述、多线程的创建、多线程的安全问题、静态同步函数的锁、死锁
- Java多线程:死锁
- JAVA多线程——死锁分析
- JAVA-15-多线程的调度和控制、线程安全、死锁、等待和唤醒
- java多线程第三天死锁问题
- java 多线程 死锁 举例
- java基础知识回顾之java Thread类学习(七)--java多线程安全问题(死锁)
- Java多线程产生死锁的原因和解决方法
- java:多线程-同步与死锁
- Java多线程之死锁
- 【java多线程 锁】死锁
- java多线程第三天死锁问题
- Java多线程之同步与死锁
- 简单的Java1.4版synchronized多线程的死锁演示
- JAVA 多线程死锁问题及解决
- java多线程-java死锁
- Java 多线程实现死锁场景
- 【Java多线程】死锁范例及解决办法
- 黑马程序员--读写字节数组,随机读写流,集合IO的思维导图,多线程部分,单例设计模式,线程和进程的概念,Java中的线程的创建方式,线程的随机性,线程的状态图,多线程操作共享数据的安全性,死锁
- java多线程之-死锁