public class Test
{
public static void main(String[] args){
new Test();
} Test(){
Test alias1=this;
Test alias2=this;
synchronized(alias1){
try{
alias2.wait();
System.out.println("Done waiting");
}
catch(Exception e)
{
System.out.println("asdfds");
} finally{
System.out.println("finally");
}
} System.out.println("all done");
}
}请问,这个程序有几个线程,有几个对象,监视器,并请解释一下结果
(运行结果是什么也没有)
假如是2个线程的话,那么当alias2在wait的时候,alias1应该可以打印啊
{
public static void main(String[] args){
new Test();
} Test(){
Test alias1=this;
Test alias2=this;
synchronized(alias1){
try{
alias2.wait();
System.out.println("Done waiting");
}
catch(Exception e)
{
System.out.println("asdfds");
} finally{
System.out.println("finally");
}
} System.out.println("all done");
}
}请问,这个程序有几个线程,有几个对象,监视器,并请解释一下结果
(运行结果是什么也没有)
假如是2个线程的话,那么当alias2在wait的时候,alias1应该可以打印啊
的确alias2没有被唤醒,但是这个影响alias1的运行吗?