我有几种方法(涉及网络操作)需要相当长的时间。我想异步调用它们并不时检查状态。在Java中推荐的方法是什么?
答案 0 :(得分:2)
使用Thread in Java完成异步执行。如果您是初次使用的Thread和Runnable,请尝试使用它们实现一些代码。当你有想法切换到java.util.concurrent包。
答案 1 :(得分:2)
如果您使用的是java 5或更高版本,则可以使用Executor
,否则可以使用threads
。
答案 2 :(得分:2)
我会使用FutureTask。
您可以为其提供任务,您可以提供在任务结束时运行的代码(受保护的done
方法),并且可以使用isDone
方法检查其状态。
如果你正在编写一个swing应用程序,你也可以使用SwingWorker
答案 3 :(得分:1)