0
在为OJP学习时,我谈到了Thread wait()方法等主题,根据本书,这部分代码应抛出IllegalMonitorStateException,因为wait()会在对象上调用除了一个同步,但我不与我,任何想法?IllegalMonitorStateException不会抛出它应该在哪里
public class Syncho {
public void synchoTest(){
ThreadTest test1 = new ThreadTest();
ThreadTest test2 = new ThreadTest();
ThreadTest test3 = new ThreadTest();
ThreadTest test4 = new ThreadTest();
ThreadTest test5 = new ThreadTest();
test1.start();
test2.start();
synchronized(test1){
try{
System.out.println("gere");
//test1 = new ThreadTest();
//test1.start();
wait();
System.out.println("tere");
}catch(Exception x){}
}
//notify();
test3.start();
test4.start();
test5.start();
}
}
实际上是 “基尔” 只印不是 “泰雷”
我使用的Eclipse的Java 7
是的,这是正确的......问题是**没有例外抛出** –
@OsamaYaccoub:啊,我明白了。好的,为了重现这一点,你能告诉我们什么'ThreadTest'看起来像?一个简短但完整的例子真的有帮助。 –
@OsamaYaccoub:再看一遍,我敢肯定有一个异常*会被抛出,但是你正在捕获它,并且完全没有做任何事情。 –