Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
希望在java中执行的时间限制内调用线程中的一个web服务_Java_Multithreading - Fatal编程技术网

希望在java中执行的时间限制内调用线程中的一个web服务

希望在java中执行的时间限制内调用线程中的一个web服务,java,multithreading,Java,Multithreading,任何代码示例 希望在一个线程中调用一个web服务,并且需要设置执行该线程的时间限制 并且需要返回值successful和failed id 比如t.start();和t.stop();时间内未来结果=执行者。newSingleThreadScheduledExecutor()。提交( Future<T> result = Executors.newSingleThreadScheduledExecutor().submit( new Callable<T>() {

任何代码示例

希望在一个线程中调用一个web服务,并且需要设置执行该线程的时间限制 并且需要返回值successful和failed id 比如t.start();和t.stop();时间内

未来结果=执行者。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服务接收请求并开始处理,第二个服务调用中断操作并请求部分结果