Ai cũng có thể cung cấp cho tôi một ví dụ nhỏ minh họa hàm wait() và notify() trong java. Tôi đã thử với đoạn mã dưới đây nhưng nó không hiển thị những gì tôi mong đợi.Một ví dụ nhỏ để minh họa phương thức wait() và notify() trong 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) {
}
}
}
}
Vấn đề là phương pháp trong lớp WaitDemo không nhận được thực hiện và theo ý tưởng của tôi SOP sau khi chờ đợi() nên thực hiện. Xin hãy giúp tôi về điều này.
Đó không phải là những gì Google dành cho? – mre
@ Крысa: Hãy nhớ rằng một trong những mục tiêu của SO là trở thành hit hàng đầu trên Google (và các tìm kiếm khác). Đây là một câu hỏi hoàn toàn hợp lý. Nó nên được trả lời với một ví dụ - ở đây, trên SO, không phải ở nơi khác - và thảo luận (lý tưởng) về nơi Sourav đã đi sai ở trên. –
Hành vi mong đợi của chương trình này là gì? – GETah