最近在用Java线程的时候遇到了一个问题,出现了IllegalMonitorStateException,不知道怎么,搞不清楚了,调试了很长时间也没好,不得已换了另外一个角度去考虑问题,才算解决了,但这个异常却怎么也没弄明白。我重写了一个程序再现了这个异常,发出来希望有人能帮得上忙。
代码如下:
public class TestThread{
private static boolean isFile;
private static int sum;
private static Thread th;
public static void main(String[] ar){
th=new Thread(){
public void run(){
while(isFile && sum <=70){
sum += 1;
System.out.println("sum="+sum);
}
}
};
th.start();
isFile=true;
try{
th.wait();
}catch(InterruptedException e){
System.out.println("InterruptedException's shown");
return;
}
}
}
运行这个程序,就会发生IllegalMonitorStateException,

希望有人能明明白白的解释这个异常!
本文通过一个具体的Java线程示例程序,详细介绍了如何遇到并解决IllegalMonitorStateException异常。作者重现了异常出现的情景,并提供了完整的代码片段,希望能帮助读者理解这一常见线程问题。
639

被折叠的 条评论
为什么被折叠?



