六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 26|回复: 0

关于java的死锁DeadLock

[复制链接]

升级  9.33%

16

主题

16

主题

16

主题

秀才

Rank: 2

积分
64
 楼主| 发表于 2013-2-3 10:32:16 | 显示全部楼层 |阅读模式
    看scjp考题的时候,关于一道多线程题目,总是不能把它推成死锁,郁闷之下,一看答案,原来真的不是死锁,可是为什么我老是想要把它推成死锁呢?很明显,是没有学到家。所以,翻箱倒柜查完资料之后,写出一个死锁Demo,来确定自己确实知道了什么是死锁。
 
 
public class DeadLockDemo {public static void main(String[] args) {final String lock1 = "LOCK1";final String lock2 = "LOCK2";Thread t1 = new Thread(){public void run() {synchronized (lock1) {System.out.println("t1:Locking Source1");try {sleep(1500);} catch (InterruptedException e) {e.printStackTrace();}synchronized (lock2) {System.out.println("t1:Locking Source2");}}}};Thread t2 = new Thread(){public void run(){synchronized (lock2) {System.out.println("t1:Locking Source1");try {sleep(1500);} catch (InterruptedException e) {e.printStackTrace();}synchronized (lock1) {System.out.println("t2:Locking Source1");}}}};                t1.start();t2.start();}} 
    /*Output:
 
t1:Locking Source1t2:Locking Source2    *///:~
    一个简单死锁的小小实例。


    关于“锁”还有点懵懂,希望以后能慢慢领悟。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表