在新线程中调用方法的简单方法
2022-09-03 03:12:03
我正在编写小应用程序,现在我发现了一个问题。我需要调用一个(后来可能是两个)方法(此方法加载一些东西并返回结果),而不会在应用程序窗口中滞后。
我发现类像 或 ,但我不明白如何使用这些类。Executor
Callable
你能发布任何解决方案,这对我有帮助吗?
感谢您的所有建议。
编辑:该方法必须返回结果。此结果取决于参数。像这样:
public static HtmlPage getPage(String page) throws FailingHttpStatusCodeException, MalformedURLException, IOException {
return webClient.getPage(page);
}
此方法的工作原理约为 8-10 秒。执行此方法后,可以停止线程。但是我需要每2分钟调用一次这些方法。
编辑:我用这个编辑了代码:
public static HtmlPage getPage(final String page) throws FailingHttpStatusCodeException, MalformedURLException, IOException {
Thread thread = new Thread() {
public void run() {
try {
loadedPage = webClient.getPage(page);
} catch (FailingHttpStatusCodeException | IOException e) {
e.printStackTrace();
}
}
};
thread.start();
try {
return loadedPage;
} catch (Exception e) {
return null;
}
}
有了这个代码,我再次得到错误(即使我放出了捕获块)。return null