这么做的原因是因为 我这个也是一个接口,有其他程序调用 然后我要在我得接口里调用另外一个第三方的接口。
如果调取第三方的接口失败或者网络不好 就会导致 返回超时
所以我需要让我得业务逻辑 和 调取第三方接口分两个线程执行 互不干扰
下面是我参考的一篇帖子代码,代码片段简单 明了 易懂 就用这个片段
public class MyTest {
public static void main(String[] args) throws Exception {
String result = method();
System.out.println("main方法调用method,得到了结果"+result+":"+new Date().toLocaleString());
}
//
public static String method(){
System.out.println("method方法开始执行:"+new Date().toLocaleString());
//在method中调用method2
new Thread(){
@Override
public void run() {
method2();
}
}.start();
return "SUCCESS";
}
private static void method2() {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("新线程执行method2已经有10s了"+new Date().toLocaleString());
}
}
结果分析:在一个方法method中启用一个新的线程调用另一个方法method2,method方法不会等待method2执行完成,当main方法调用method的时候, 不论新线程调用的method2是否执行完成,如果method执行完成了就会返回结果。