gpt4 book ai didi

java - 如何在 main 方法中调用 wait() 方法?如果我使用它,它将给出 java.lang.IllegalMonitorStateException

转载 作者:行者123 更新时间:2023-12-02 04:26:26 24 4
gpt4 key购买 nike

我收到错误:

    package main_test;
public class Main {
public static void main(String[] args) throws InterruptedException
{
Main m = new Main();
System.out.println("Main Started");
m.wait();
System.out.println("Main Terminated");
}
}

最佳答案

您必须先获取锁,然后才能调用 wait。尝试这样的事情:

  public static void main(String[] args) throws InterruptedException {
Main m = new Main();
System.out.println("Main Started");
synchronized (m) {
m.wait();
}
System.out.println("Main Terminated");
}

但是现在程序显然不会终止。其他一些线程需要对您调用 wait() 的对象调用 notify()。 (这就是为什么使用局部变量是一个坏主意,但这只是一个例子......)

请参阅java tutorial了解更多信息。

关于java - 如何在 main 方法中调用 wait() 方法?如果我使用它,它将给出 java.lang.IllegalMonitorStateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32088544/

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