Java設置一段代碼執(zhí)行的超時時間

最近在項目中,需要調(diào)用其他APP提供的AIDL接口,項目要求必須執(zhí)行完該操作,才能執(zhí)行后續(xù)的程序,所以必須設置代碼執(zhí)行的超時時間,找到如下代碼可以滿足需求:

public class ThreadTest {
    public static void main(String[] args) throws InterruptedException,
            ExecutionException {
          
        final ExecutorService exec = Executors.newFixedThreadPool(1);
          
        Callable<String> call = new Callable<String>() {
            public String call() throws Exception {  
                //開始執(zhí)行耗時操作  
                Thread.sleep(1000 * 2);
                return "線程執(zhí)行完成.";  
            }  
        };  
          
        try {  
            Future<String> future = exec.submit(call);
            String obj = future.get(1000 * 1, TimeUnit.MILLISECONDS); //任務處理超時時間設為 1 秒
            System.out.println("任務成功返回:" + obj);  
        } catch (TimeoutException ex) {  
            System.out.println("處理超時啦....");  
            ex.printStackTrace();  
        } catch (Exception e) {  
            System.out.println("處理失敗.");  
            e.printStackTrace();  
        }  
        // 關(guān)閉線程池  
        exec.shutdown();  
    }  
}  
建議閱讀

Java多線程:Executor,Executors,Future,Callable,Runnable等

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 一.線程安全性 線程安全是建立在對于對象狀態(tài)訪問操作進行管理,特別是對共享的與可變的狀態(tài)的訪問 解釋下上面的話: ...
    黃大大吃不胖閱讀 953評論 0 3
  • 先看幾個概念:線程:進程中負責程序執(zhí)行的執(zhí)行單元。一個進程中至少有一個線程。多線程:解決多任務同時執(zhí)行的需求,合理...
    yeying12321閱讀 613評論 0 0
  • 一、并發(fā) 進程:每個進程都擁有自己的一套變量 線程:線程之間共享數(shù)據(jù) 1.線程 Java中為多線程任務提供了很多的...
    SeanMa閱讀 2,805評論 0 11
  • 第一種情況: 打包一個界面的Prefab,界面包含了一張大圖和四個按鈕圖片,圖片沒有打成圖集僅對界面設置Asset...
    流沙滿地閱讀 669評論 0 0
  • 市面上的處方減肥藥都有減肥功效,研究表明這其中有些相對效果更好些。最近美國新批準了五種減肥藥,但是功效相比其他減肥...
    許遠山閱讀 1,115評論 0 0

友情鏈接更多精彩內(nèi)容