在项目中经常会有些调用无缘无故无响应,这时候怎么处理呢?

这儿提出一种解决方案.

是使用线程来做控制.

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;

public class Test {

    private static ExecutorService exec = Executors.newFixedThreadPool(1);
    public static void main(String[] agst){
        try {
            //Callabal<String> string: 是返回值类型
            Callable<String> callable = new Callable<String>() {
                public String call() throws Exception{
                    Thread.sleep(2010);
                    //需要调用的方法或者接口
                    //如果接口有返回值直接return返回值
                    return "success";
                }
            };
            Future<String> submit = exec.submit(callable);
            //result 接口的返回值 , get(2"时间" , TimeUnit.SECONDS"时间类型")
            String result = submit.get(2, TimeUnit.SECONDS);
            //自己的逻辑
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

代码做过修改没做测试,使用的时候测试下再使用.

12-25 12:37