Кто-нибудь, пожалуйста, предоставьте мне хороший небольшой пример, демонстрирующий функциональность wait () и notify () в java. Я пробовал использовать приведенный ниже фрагмент кода, но он не показывает того, чего я ожидал.
public class WaitDemo {
int i = 10;
int display() {
System.out.println("Lexmark");
i++;
return i;
}
}
public class ClassDemo1 extends Thread {
private WaitDemo wd = new WaitDemo();
public static void main(String[] args) {
ClassDemo1 cd1 = new ClassDemo1();
ClassDemo1 cd2 = new ClassDemo1();
cd1.setName("Europe");
cd2.setName("America");
cd1.start();
cd2.start();
}
synchronized void display() {
System.out.println("Hello");
notifyAll();
}
public void run() {
synchronized (this) {
try {
{
notify();
System.out.println("The thread is " + currentThread().getName());
wait();
System.out.println("The value is " + wd.display());
}
} catch (InterruptedException e) {
}
}
}
}
Проблема в том, что метод в классе WaitDemo не запускается, и, по моему мнению, SOP после wait () должен выполняться. Пожалуйста, помогите мне в этом.