死锁的演示代码,为何无法运行 本帖最后由 atnice 于 2012-07-18 22:01:20 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 改了下class Test implements Runnable { private boolean flag; 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 LockTry { public static void main(String[] args) { Thread t1 = new Thread(new Test(true)); Thread t2 = new Thread(new Test(false)); t1.start(); t2.start(); }}但你这个代码用if else锁得住吗 是不是类名称的问题,定义main函数的类一定要和文件同名才可以啊 main函数的类和文件同名的编译能通过的,就是运行的时候出现提示Exception in thread "main" java.lang.NoSuchMethodError: Test.<init>(Z)V at DeadLockTest.main(DeadLockTest.java:50)我把 Thread t1 = new Thread(new Test(true)); Thread t2 = new Thread(new Test(false)); t1.start(); t2.start();这些都注释掉,改成一条输出语句,运行就没问题的,应该是main里的方法有问题,可我查不出啊 请教一个JAVA模拟HTTPPOST的问题 有谁写过具有多个key的Map对象? 双击运行jar包的问题 [求助]什么情况下必须用finally? 请举个简单的例子吧? 大家帮帮忙,生成静态页面时需要分页,这个怎么实现啊(急!) Java中怎样才能将窗口设置成和操作系统相同的风格? 在java里有没有向VC里的MessageBox的提示窗口? 请教前辈们 java可以往JPanel中添加一个JPanel吗? 杭电 acm 1009题 各位帮忙看看哪里错了 运行没问题啊 提交错误 线程同步的几个问题? linux 下的错误:IOException: Broken pipe,求解、、、、、
private boolean flag; 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 LockTry {
public static void main(String[] args) {
Thread t1 = new Thread(new Test(true));
Thread t2 = new Thread(new Test(false));
t1.start();
t2.start();
}
}
但你这个代码用if else锁得住吗
编译能通过的,就是运行的时候出现提示
Exception in thread "main" java.lang.NoSuchMethodError: Test.<init>(Z)V
at DeadLockTest.main(DeadLockTest.java:50)我把 Thread t1 = new Thread(new Test(true));
Thread t2 = new Thread(new Test(false));
t1.start();
t2.start();这些都注释掉,改成一条输出语句,运行就没问题的,应该是main里的方法有问题,可我查不出啊