gpt4 book ai didi

java - 为条件/等待java创建一个静态成员

转载 作者:搜寻专家 更新时间:2023-11-01 02:51:49 24 4
gpt4 key购买 nike

是否有可能在一个类中创建一个静态成员来响应(如果它的 wait 方法被调用),对于不共享类的相同实例的线程是否正确(它们是否能够相互通知与 notifyAll 使用静态成员字段)?

最佳答案

您可以将单个实例存储在类的静态字段中,任意数量的线程都可以等待。实例存储在哪里并不重要。关键是所有线程都可以访问同一个实例——无论是来自静态字段/方法、单例服务对象还是静态局部变量。

public class MakeMeWait {
private static Object semaphore = new Object();

public static void waitPlease() {
semaphore.wait();
}

public static void wakePlease() {
semaphore.notifyAll();
}
}

虽然此示例使用内置的 Java waitnotifyAll 方法,但最好还是使用 java.util.concurrent打包而不是滚动您自己的多线程解决方案。

关于java - 为条件/等待java创建一个静态成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9765244/

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