package creative.fire.multithread;
/**
* @author feuyeux@gmail.com 2011-10-13
*
*/
public class DeadLockTest extends Thread {
private final int timeout1 = 2 * 1000;
private final int timeout2 = 4 * 1000;
private static Object o1 = new Object();
private static Object o2 = new Object();
public void a(String name) throws InterruptedException {
synchronized (o1) {
System.out.println(name + " lock o1");
Thread.sleep(timeout1);
System.out.println(name + " try to lock o2...");
synchronized (o2) {
System.out.println(name + " lock o2");
}
System.out.println(name + " unlock o2");
}
System.out.println(name + " unlock o1");
}
public synchronized void b(String name) throws InterruptedException {
synchronized (o2) {
System.out.println(name + " lock o2");
Thread.sleep(timeout2);
System.out.println(name + " try to lock o1...");
synchronized (o1) {
System.out.println(name + " lock o1");
}
System.out.println(name + " unlock o1");
}
System.out.println(name + " unlock o2");
}
public static void main(String[] args) {
final DeadLockTest thiz1 = new DeadLockTest();
final DeadLockTest thiz2 = new DeadLockTest();
new Thread(new Runnable() {
@Override
public void run() {
try {
thiz1.a("1");
thiz1.b("1");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
try {
thiz2.b("2");
thiz2.a("2");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
}
分享到:
相关推荐
《童虎学习笔记》mysql 8.0.28 mgr 监控视图 gr_member_routing_candidate_status
《童虎学习笔记》SQL语言高手样本数据websites.sql
《童虎学习笔记》SQL语言高手样本数据apps.sql
《童虎学习笔记》SQL语言高手样本数据access_log.sql
《Delphi技术构建的人事管理系统源码解析》 在信息技术高度发达的今天,人事管理系统已经成为了企业日常管理不可或缺的一部分。本文将围绕“人事管理系统源码.rar”这一主题,深入探讨Delphi编程语言在构建此类系统...
(6)互动论坛:注册登录后的童虎可以进行发帖,在此可以进行查看各种帖子,以及回复跟帖等等一些列操作,可以在里面进行一些自由友善的交流。 (7)系统概要:有联系方式,提供本系统的一些作者的联系方式以及工作...
8. 圣斗士:童虎、史昂和穆是中国圣斗士,艾俄洛斯则来自希腊。 9. 《银魂》:鬼兵队中金色直发马尾的暴力女性角色名叫来岛又子,她是《银魂》中的一个重要角色。 10. 物理学原理:电磁炮发射炮弹利用的是洛伦茨力...
这篇文档虽然以《星座黄金圣斗士经典广告词》为标题,但实际上它是一种创意写作,将知名动漫角色“圣斗士星矢”中的角色与广告语结合,创造了一系列幽默诙谐的场景。这些广告词涉及了各种产品,如服装、食品、个人...
互动论坛:注册登录后的童虎可以进行发帖,在此可以进行查看各种帖子,以及回复跟帖等等一些列操作,可以在里面进行一些自由友善的交流。 系统概要:有联系方式,提供本系统的一些作者的联系方式以及工作人员的联系...
Tomcat服务器是一种免费开放源代码Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问童虎不是诸多场合下被普遍使用,是开发和调试JSP程序首选。Tomcat服务器可以独立运营,支持多种编程语言,包括Java、...
(6)互动论坛:注册登录后的童虎可以进行发帖,在此可以进行查看各种帖子,以及回复跟帖等等一些列操作,可以在里面进行一些自由友善的交流。 (7)系统概要:有联系方式,提供本系统的一些作者的联系方式以及工作...