任何代码示例
想要在一个线程中调用一个 Web 服务,并且需要设置执行该线程的时间限制,并且需要返回成功和失败 id 的值,例如 t.start();和 t.stop(); 时间内
任何代码示例
想要在一个线程中调用一个 Web 服务,并且需要设置执行该线程的时间限制,并且需要返回成功和失败 id 的值,例如 t.start();和 t.stop(); 时间内
Future<T> result = Executors.newSingleThreadScheduledExecutor().submit(
new Callable<T>() {
@Override
public void run() {
//perform action here
while(!Thread.interrupted()){
//do next stage of calculation
}
}
});
T value = result.get(10, TimeUnit.SECONDS); //for example wait 10 seconds
if(value == null) {
//process is not finished
result.cancel(true); //interrupt task
}
Web 服务调用是原子操作,它不会返回部分结果,除非它被设计为这样做。例如,接收请求并开始处理的 Web 服务,第二个服务调用中断操作并要求部分结果。