gpt4 book ai didi

java - 一个很好的小例子来演示 java 中的 wait() 和 notify() 方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:52:11 25 4
gpt4 key购买 nike

任何人都可以给我提供一个很好的小例子来演示 java 中的 wait() 和 notify() 功能。我试过下面的代码,但它没有显示我的预期。

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 类中的方法没有被执行,按照我的想法,wait() 之后的 SOP 应该执行。请帮我解决这个问题。

最佳答案

您的 try block 中有两层大括号 {。如果您删除内部集(它似乎没有做任何事情),是否可以解决问题?

身边有好几个例子,都演示了用法。最后一个链接是一组可以帮助您的结果。如果您需要更具体的内容,请告诉我您的应用正在尝试做什么,我可以尝试找到更适合您情况的示例。

关于java - 一个很好的小例子来演示 java 中的 wait() 和 notify() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8358600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com