任何代码示例
想要在一个线程中调用一个Web服务,并且需要设置一个时间限制来执行该线程 并且需要返回值成功和失败的ID 喜欢t.start();和t.stop();在时间内
答案 0 :(得分:2)
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
}
答案 1 :(得分:1)
Web服务调用是原子操作,除非设计为这样,否则它不会返回部分结果。例如,接收请求并开始处理的Web服务,以及第二个服务调用中断操作并请求部分结果。