-1

任何代码示例

想要在一个线程中调用一个 Web 服务,并且需要设置执行该线程的时间限制,并且需要返回成功和失败 id 的值,例如 t.start();和 t.stop(); 时间内

4

2 回答 2

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
}
于 2013-01-22T14:56:17.063 回答
1

Web 服务调用是原子操作,它不会返回部分结果,除非它被设计为这样做。例如,接收请求并开始处理的 Web 服务,第二个服务调用中断操作并要求部分结果。

于 2013-01-22T14:57:45.063 回答