在项目中经常会有些调用无缘无故无响应,这时候怎么处理呢?
这儿提出一种解决方案.
是使用线程来做控制.
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); } } }
代码做过修改没做测试,使用的时候测试下再使用.