使用Java實現非同步呼叫三方服務超時設定

2021-09-12 01:19:18 字數 811 閱讀 2812

直接上**:

private static executorservice executorservice = executors.newsinglethreadexecutor();

/*** @param args

*/public static void main(string args) catch (exception e)

}private static string timeoutmethod(int timeout) catch (interruptedexception | executionexception | timeoutexception e)

return result;

}private static string unknowmethod() catch (exception e)

return "真實結果";

}

執行結果1:

任務將耗時: 2000毫秒

方法實際耗時:2044毫秒

結果:真實結果

任務將耗時: 4000毫秒

方法實際耗時:4000毫秒

結果:真實結果

執行結果2:

任務將耗時: 7000毫秒

方法實際耗時:5037毫秒

結果:超時標誌

任務將耗時: 9000毫秒

方法實際耗時:5001毫秒

結果:超時標誌

JAVA多執行緒實現非同步呼叫

時間 只需要領個提貨單就可以了 去幹別的事情 等到蛋糕做好了,再拿提貨單取蛋糕就可以了。package com.somnus async description 顧客 date 2016年3月9日 下午7 20 41 version 1.0 public class customer catch i...

延遲呼叫或多次呼叫第三方的Web API服務

當我們呼叫第三方的web api服務的時候,不一定每次都是成功的。這時候,我們可能會再多嘗試幾次,也有可能延遲一段時間再去嘗試呼叫服務。task的靜態方法delay允許我們延遲執行某個task,此方法可以讓我們做到延遲一段時間再去呼叫服務 多嘗試幾次呼叫如何實現呢?可以用迴圈遍歷。在 使用httpc...

Spring中非同步呼叫的三種實現方式

設定超時時間 asynccontext.settimeout 20000 asynccontext.start new runnable catch exception e 非同步請求完成通知 此時整個請求才完成 asynccontext.complete 此時之類 request的執行緒連線已經釋...