wait()和notifyall()无法正常工作

时间:2014-09-30 15:58:34

标签: java wait notify

Hello请求帮助我使用wait()和notifyall() 我需要它,导致do while重复!,函数savegame()调用服务器,在函数从服务器获得答案后,​​另一个函数应该重复。

这部分属于一个等待的功能。

public static Boolean notifier = Boolean.valueOf(false);
synchronized (notifier) {
       try {
           System.out.println("Spiel noch nicht gespeichert, warten...");
           notifier.wait();
       } catch (Exception f) {
           Log.e("Fehler", "Beim Warten");
       }
}

这是函数中发生某事的部分,之后上面的函数应该得到通知。

synchronized (notifier) {
   System.out.println("UNLOCK:" + System.currentTimeMillis());
   notifier.notifyAll();
}

1 个答案:

答案 0 :(得分:0)

我也在查看历史记录:您为通知程序分配了一个不同的实例。所以wait()/ notify()将不起作用,因为你等待一个实例,同时通知另一个实例。使用两个不同的对象来传输状态信息和同步。使同步对象成为静态和最终的,因此您可以确定,您只处理一个实例。或者使用完全不同的方法:)

评论作为答案,因此可以标记为已解决。