public class TestLock { public static void main(String[] args) { Thread t1 = new Thread(new deadLock(false)); Thread t2 = new Thread(new deadLock(true)); t1.start(); t2.start(); } } class deadLock implements Runnable{ boolean flage; deadLock(boolean flage){ this.flage=flage; } Object obj1=new Object(); Object obj2=new Object(); public void run() { if(this.flage){ synchronized (obj1) { System.out.println(Thread.currentThread().getName()+"hava o1"); try{ Thread.sleep(100); }catch(Exception e){ e.printStackTrace(); } synchronized (obj2) { System.out.println(Thread.currentThread().getName()+"hava o2"); } } }else{ synchronized (obj2) { System.out.println(Thread.currentThread().getName()+"hava o2"); try{ Thread.sleep(100); }catch(Exception e){ e.printStackTrace(); } synchronized (obj1) { System.out.println(Thread.currentThread().getName()+"hava o1"); } } } } } |
相关文章
- 求教专家!!!JAVA程序产生的致命错误,自己生成一个hs_err_pid***.log文件!!!请教是哪里出问题了?
- 用JAVA 如何写一个检测是否有U盘插入和拨出的程序
- Rhino 是一个完全使用Java语言编写的开源JavaScript实现。Rhino通常用于在Java程序中,为最终用户提供脚本化能力。它被作为J2SE 6上的默认Java脚本化引擎。
- 一个不能实现的技术难题,在一个java程序中,如何自动点击网页中的提交按钮
- 用Java实现将多级文件夹下的所有文件统一放到一个文件夹中
- 用多线程实现的Java爬虫程序
- 用java实现的文件夹复制与删除的程序
- Java编写程序之输入一个数字实现该数字阶乘的计算
- 用Python实现一个简单的能够发送带附件的邮件程序的教程
- JAVA实现的一个简单的死锁(附解释)