从其他线程上的类调用wait()

Kar*_*ran 1 java android

我想调用wait()其他Thread becoz如果我当前的类的一部分代码正在执行不想被其他线程中断..为此我这样做

main.class

testThread as=new testThread();
try{
    synchronized(as) {
        wait();
    }
} catch (Exception e) {
    Log.d(tag, "In ==Scheduler== error"+e.toString());
}
Run Code Online (Sandbox Code Playgroud)

testThread.class

public void run() {
    while(true) {
        System.out.println("Thread"); 
        try {
            Thread.sleep(6000);
        } catch(Exception r) {

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

并得到以下错误

error java.lang.IllegalMonitorStateException:对象在wait()之前未被线程锁定

为什么我会收到此错误,我该如何解决?

Ebo*_*ike 6

synchronized(as)
{
    as.wait();
}
Run Code Online (Sandbox Code Playgroud)

要么

synchronized(this)
{
    wait();
}
Run Code Online (Sandbox Code Playgroud)

根据你的需要.你需要同步你正在等待的任何东西.