我想在其他Thread becoz上调用wait()
如果我当前的类代码的某些部分正在执行,请不要被其他线程中断。
为此,我这样做
main.class
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()之前未被线程锁定
为什么我会收到此错误,我该如何解决?
答案 0 :(得分:6)
无论
synchronized(as)
{
as.wait();
}
或
synchronized(this)
{
wait();
}
根据你的需要。你需要同步你正在等待的任何东西。