java – 在onPostExecute的notify()之前,线程没有锁定对象

我尝试通知onPostExecute中主类的列表视图的适配器,但是我收到错误:java.lang.IllegalMonitorStateException:对象未被线程锁定在notify()之前

@Override
protected void onPostExecute(String result) {
    popularfragment.adapter.notifyDataSetChanged();
    recentfragment.adapter.notifyDataSetChanged();
} 
最佳答案
必须从同步上下文(即从同步块内)调用.notify()方法。

当您不用作用于调用notify的同步块的锁的对象上调用.notify()时,将抛出java.lang.IllegalMonitorStateException。例如,以下作品;

synchronized(obj){
    obj.notify();
}

但这会抛出异常;

synchronized(obj){
    // notify() is being called here when the thread and 
    // synchronized block does not own the lock on the object.
    anotherObj.notify();        
}

参考;

> IllegalMonitorStateException API
> How to use wait & notify

转载注明原文:java – 在onPostExecute的notify()之前,线程没有锁定对象 - 代码日志