死锁
2015-10-16 16:50
288 查看
class Test2 implements Runnable { private boolean flag; Test2(boolean flag) { this.flag = flag; } public void run() { if (flag) { while (true) { synchronized (MyLock.locka) { System.out.println(Thread.currentThread().getName() + "...if locka "); synchronized (MyLock.lockb) { System.out.println(Thread.currentThread().getName() + "..if lockb"); } } } } else { while (true) { synchronized (MyLock.lockb) { System.out.println(Thread.currentThread().getName() + "..else lockb"); synchronized (MyLock.locka) { System.out.println(Thread.currentThread().getName() + ".....else locka"); } } } } } } class MyLock { static Object locka = new Object(); static Object lockb = new Object(); } public class DeadLockTest { public static void main(String[] args) { Thread t1 = new Thread(new Test2(true)); Thread t2 = new Thread(new Test2(false)); t1.start(); t2.start(); } }
相关文章推荐
- iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
- SQL LEFT JOIN 关键字 高级教程
- C#文件和文件文件夹按时间、名称排序-顺序与倒序
- Java理论学时第三节。课后作业。
- mvc
- Java反射机制1
- Android开发过程中内存泄露检测及工具
- iOS中 FMDB第三方SQLite数据库 UI_20
- iOS中 FMDB第三方SQLite数据库 UI_20
- ES-MongoDB学习2_mongodb-river-elasticsearch源码解析
- WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案
- 页面渲染
- Zookeeper Api(java)入门与应用
- 统计一文件中出现给定字符串的次数
- C#实现对指定文件夹中文件按修改时间排序
- log4Net使用 z
- go channel
- Qt 改变图片大小
- 用记忆化搜索的方法做01背包题
- Festo控制器--上传文件