我正在编写小应用程序,现在我发现了一个问题。我需要调用一个(稍后可能是两个)方法(此方法加载一些内容并返回结果)而不滞后于应用程序窗口。
Executor
我找到了or之类的类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;
}
}
With this code I get error again (even if I put return null
out of catch block).