Хороший небольшой пример для демонстрации методов wait () и notify () в java

Кто-нибудь, пожалуйста, предоставьте мне хороший небольшой пример, демонстрирующий функциональность 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 () должен выполняться. Пожалуйста, помогите мне в этом.

8
задан Alex K 2 December 2011 в 15:37
поделиться