希望在java中执行的时间限制内调用线程中的一个web服务
任何代码示例 希望在一个线程中调用一个web服务,并且需要设置执行该线程的时间限制 并且需要返回值successful和failed id 比如t.start();和t.stop();时间内希望在java中执行的时间限制内调用线程中的一个web服务,java,multithreading,Java,Multithreading,任何代码示例 希望在一个线程中调用一个web服务,并且需要设置执行该线程的时间限制 并且需要返回值successful和failed id 比如t.start();和t.stop();时间内未来结果=执行者。newSingleThreadScheduledExecutor()。提交( Future<T> result = Executors.newSingleThreadScheduledExecutor().submit( new Callable<T>() {
未来结果=执行者。newSingleThreadScheduledExecutor()。提交(
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
}
新的可调用(){
@凌驾
公开募捐{
//在这里执行操作
而(!Thread.interrupted()){
//进行下一阶段的计算
}
}
});
T值=结果。获取(10,时间单位。秒)//例如,等待10秒
如果(值==null){
//这个过程还没有结束
result.cancel(true);//中断任务
}
Web服务调用是原子操作,除非设计为返回部分结果,否则不会返回部分结果。例如,web服务接收请求并开始处理,第二个服务调用中断操作并请求部分结果