下面一段代码在lock(this)处编译有错误,是怎么回事啊
还有请问一下这段代码当调用test方法是>10时是否会引起死锁?public class test {
public void test1(int i){
lock(this){
if(i>10){
i--;
test1(i);
}
}
}
}
还有请问一下这段代码当调用test方法是>10时是否会引起死锁?public class test {
public void test1(int i){
lock(this){
if(i>10){
i--;
test1(i);
}
}
}
}
那如果换成synchronized以上代码是否会发生死锁呢?
import java.util.concurrent.locks.ReentrantLock;
public class test {
private final Lock lock = new ReentrantLock();
public void test1(int i){
this.lock.lock(); //l.lock(){
if(i>10){
i--;
test1(i);
}
//}
}
}
那这样写了,那这段代码当调用test方法是>10时是否会引起死锁?