我想在其他线程上调用 wait()
因为如果我当前类的某些代码正在执行不想被其他线程中断..
为此,我正在这样做
主类
testThread as=new testThread();
try{
synchronized(as) {
wait();
}
} catch (Exception e) {
Log.d(tag, "In ==Scheduler== error"+e.toString());
}
测试线程类
public void run() {
while(true) {
System.out.println("Thread");
try {
Thread.sleep(6000);
} catch(Exception r) {
}
}
}
出现以下错误
error java.lang.IllegalMonitorStateException: object not locked by thread before wait()
为什么会出现此错误,我该如何解决?
最佳答案
要么
synchronized(as)
{
as.wait();
}
或
synchronized(this)
{
wait();
}
根据您的需要。您需要同步您正在等待的任何内容。
关于java - 从其他线程上的类调用 wait(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5685216/