使用多线程方法实现一个死锁程序,用来提醒自己不要犯这样的错误
来源:互联网 发布:Linux查看sdb信息 编辑:程序博客网 时间:2024/05/16 10:25
/*
* 建立一个死锁工程
*/
public class DeadLockDemo {
//主函数
public static void main(String[] args) {
Thread t1=new Thread(new Test(true));
Thread t2=new Thread(new Test(false));
t1.start();
t2.start();
}
}
//创建两个锁
class MyLock{
static Object locka=new Object();
static Object lockb=new Object();
}
//同步线程
class Test implements Runnable{
private boolean flag;
public Test(boolean flag) {
super();
this.flag = flag;
}
@Override
public void run() {
if (flag) {
synchronized(MyLock.locka){
System.out.println("if locka");
synchronized(MyLock.lockb){
System.out.println("if lockb");
}
}
}else {
synchronized(MyLock.lockb){
System.out.println("else lockb");
synchronized(MyLock.locka){
System.out.println("else locka");
}
}
}
}
}
0 0
- 使用多线程方法实现一个死锁程序,用来提醒自己不要犯这样的错误
- 使用多线程方法生成一个死锁程序
- 犯了死锁的错误
- 写个C和指针习题程序犯太多错误,记下提醒自己
- 一个c程序及犯的错误
- 自己犯的错误
- 不要犯同样的错误
- 用来提醒自己的一些总结性浅见
- [提醒]曾经犯的谜之错误
- 使用 libevent 容易犯的一个错误
- 使用webpack犯过的一个错误
- 做了一个小软件用来提醒自己注意健康
- 记录自己犯的错误。
- 外贸员不要犯的错误
- 不要犯的22条办公室错误
- android数据库操作不要犯的错误
- 多线程的死锁程序
- 程序猿,一个你不该犯的美丽错误...
- 更改导航栏的背景和文字Color
- 关于多线程的使用一些基本介绍
- layout_width和width有什么区别
- vimdff cannot read or write temp files
- 翻译关于Mesos的一篇来自加利福尼亚 伯克利大学的文章,如有冒犯原作者,请指正。。
- 使用多线程方法实现一个死锁程序,用来提醒自己不要犯这样的错误
- ESESC仿真器的安装
- 工厂方法模式( Factory Method 模式 )
- 获取顶层视图控制器UIViewController
- 大端 小端 原码 反码 补码 及内存中的表现
- Word中标题、图表自动编号的方法
- HDU 1426 Sudoku Killer 枚举每一个空,深搜
- 使用gem命令时出现的几种错误
- maven搭建