多线程死锁问题

corner1988 2012-04-17 04:01:00
class test implements Runnable{
private boolean flag;
public test(boolean flag){
this.flag=flag;
}
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");

}

}
}
}

}
class Mylock{
static Object locka=new Object();
static Object lockb=new Object();
}
public class DeadLockTest{
public static void main(){
Thread t1=new Thread(new test(true));
Thread t2=new Thread(new test(false));
t1.start();
t2.start();
}
}
想写个死锁,控制台输出一堆乱码 请问怎么回事
...全文
57 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
corner1988 2012-04-17
  • 打赏
  • 举报
回复
啊哟,我弱智了!
结贴是美德 2012-04-17
  • 打赏
  • 举报
回复
lz 你可以在System.out.println("if locka");下面加一句sleep,睡上几秒就能看出效果来le~
  • 打赏
  • 举报
回复
大哥,你程序没错,但是你的main方法写错了

public static void main()
===》
public static void main(String[] args)

OK
结贴是美德 2012-04-17
  • 打赏
  • 举报
回复
lz运行的是这个程序么?main方法参数捏?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧