Java中設置方法執行的超時時間java.util.concurrent.Future


java.util.concurrent.Future

        Future代表一個異步計算的結果。它提供了方法來檢查是否計算已經完成,還是正在計算而處於等待狀態,並且也提供了獲取計算結果 方法。當計算完成后,只能通過get方法來獲取執行結果,必要的話該方法會阻塞。通過cancel方法可以取消計算。一旦計算已經完成,便無法取消。

 

主要方法:

cancel():取消任務

get():等待任務執行完成,並獲取執行結果

get(long timeout, TimeUnit unit):在指定的時間內會等待任務執行,超時則拋異常

 

下面是具體代碼片段:

wKiom1ZN363ydt07AACTKOlcnTw032.png

 

我想到這樣一個應用場景:

        將二維碼串返回給前台的同時啟動一個線程,運行一個Future,在Future的任務里面做這樣一件事情:查詢異步通知推送記錄,如果已經推送過,則取消任務,如果超時則自動向前端推送消息,告知支付超時。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM