【发布时间】:2011-04-16 07:50:37
【问题描述】:
我想在其他线程上调用wait(),因为如果我当前的类正在执行某些部分代码不想被其他线程打断..
为此我正在这样做
主类
testThread as=new testThread();
try{
synchronized(as) {
wait();
}
} catch (Exception e) {
Log.d(tag, "In ==Scheduler== error"+e.toString());
}
testThread.class
public void run() {
while(true) {
System.out.println("Thread");
try {
Thread.sleep(6000);
} catch(Exception r) {
}
}
}
并得到以下错误
error java.lang.IllegalMonitorStateException: 在wait()之前对象没有被线程锁定
为什么会出现此错误,我该如何解决?
【问题讨论】: