gpt4 book ai didi

java - 如何修复 IllegalMonitorStateException

转载 作者:行者123 更新时间:2023-12-03 07:39:47 26 4
gpt4 key购买 nike

我在我的代码中遇到了 IllegalMonitorStateException,我不确定为什么会收到它以及如何修复它。我当前的代码是并且错误发生在 try block 中:

  public static String scrapeWebsite() throws IOException {

final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage(s);
final HtmlForm form = page.getForms().get(0);
final HtmlSubmitInput button = form.getInputByValue(">");
final HtmlPage page2 = button.click();
try {
page2.wait(1);
}
catch(InterruptedException e)
{
System.out.println("error");
}
String originalHtml = page2.refresh().getWebResponse().getContentAsString();
return originalHtml;
}
}

最佳答案

这是因为 page2.wait(1);您需要同步(锁定) page2 对象,然后调用等待。也为了 sleep 最好使用 sleep() 方法。

synchronized(page2){//page2 should not be null
page2.wait();//waiting for notify
}

以上代码不会抛出IllegalMonitorStateException异常。
并注意像wait()notify()notifyAll()需要在通知之前同步对象。

这个 link可能有助于解释。

关于java - 如何修复 IllegalMonitorStateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19552142/

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