欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 中限制方法的返回時間最新方法

 更新時間:2023年05月10日 09:32:34   作者:lucas.hu  
最近在研究 ChatGPT 的 API 調用,因為 ChatGPT 的 API 調用時間通常超過 30 秒,所以我們希望在程序中限制這個方法的執(zhí)行時間,不要讓方法花太長時間去執(zhí)行了,今天通過本文給大家分享Java 中如何限制方法的返回時間,感興趣的朋友跟隨小編一起看看吧

最近在研究 ChatGPT 的 API 調用。

因為 ChatGPT 的 API 調用時間通常超過 30 秒。

所以我們希望在程序中限制這個方法的執(zhí)行時間,不要讓方法花太長時間去執(zhí)行了。

JDK 方法

可以使用 JDK 中的 ExecutorService 方法來對調用的方法進行處理。

代碼如下:

        ExecutorService executor = newCachedThreadPool();
        Callable<Object> task = new Callable<Object>() {
            public String call() {
                return callChatGPT(content);
            }
        };
        Future<Object> future = executor.submit(task);
        try {
            Object result = future.get(15, TimeUnit.SECONDS);
            contentGPT = (String) result;
        } catch (TimeoutException ex) {
            contentGPT = "ChatGPT API Time out, Please Re-try it";
        } catch (InterruptedException e) {
            contentGPT = "ChatGPT API Time out, Please Re-try it";
        } catch (ExecutionException e) {
            contentGPT = "ChatGPT API Time out, Please Re-try it";
        } finally {
            future.cancel(true); // may or may not desire this
        }

在我們的調用方法 callChatGPT 中,我們配置了一個 ExecutorService 執(zhí)行器。

在這個執(zhí)行器中,我們配置一個任務。

然后這個任務我們指定了執(zhí)行時間為 15 秒。

如果這個方法的執(zhí)行時間超過了 15 秒,程序將會拋出一個異常。

可以通過這個方法來限制方法的執(zhí)行時間。

到此這篇關于Java 中如何限制方法的返回時間的文章就介紹到這了,更多相關java限制方法的返回時間內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • IISExpress?配置允許外部訪問詳細介紹

    IISExpress?配置允許外部訪問詳細介紹

    這篇文章主要介紹了?IISExpress?配置允許外部訪問詳細介紹的相關資料,需要的朋友可以參考下
    2016-11-11
  • java的幾種定時器的具體使用(4種)

    java的幾種定時器的具體使用(4種)

    本文主要介紹了4種類型的定時器:@Scheduled注解、quartz、new Timer().schedule、使用線程控制的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2021-09-09
  • java如何讀取yaml配置文件

    java如何讀取yaml配置文件

    這篇文章主要介紹了java如何讀取yaml配置文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • java-servlet-轉發(fā)AND路徑(詳解)

    java-servlet-轉發(fā)AND路徑(詳解)

    下面小編就為大家?guī)硪黄猨ava-servlet-轉發(fā)AND路徑(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java事件機制要素及實例詳解

    Java事件機制要素及實例詳解

    這篇文章主要介紹了Java事件機制要素及實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • SpringBoot使用AOP記錄接口操作日志的方法

    SpringBoot使用AOP記錄接口操作日志的方法

    日志記錄量是很大的,所以只記錄關鍵地方并按期歸檔,最好是存在如elasticsearch中,如果存在數(shù)據(jù)庫中,分表是不錯的選擇,這篇文章主要介紹了SpringBoot使用AOP記錄接口操作日志的方法,需要的朋友可以參考下
    2022-08-08
  • java?面向對象代碼塊及不同位置對屬性賦值的執(zhí)行順序

    java?面向對象代碼塊及不同位置對屬性賦值的執(zhí)行順序

    這篇文章主要介紹了java面向對象代碼塊及不同位置對屬性賦值的執(zhí)行順序,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • SpringBoot自定義Banner使用詳解

    SpringBoot自定義Banner使用詳解

    這篇文章主要介紹了SpringBoot自定義Banner使用詳解,啟動 Spring Boot 時,幾乎總是能在控制臺上方看到如下橫幅,這個也叫字符畫、英文ASCII藝術字,這就是banner,我們來看一下如何使用,需要的朋友可以參考下
    2024-01-01
  • java面試突擊之sleep和wait有什么區(qū)別詳析

    java面試突擊之sleep和wait有什么區(qū)別詳析

    按理來說sleep和wait本身就是八竿子打不著的兩個東西,但是在實際使用中大家都喜歡拿他們來做比較,或許是因為它們都可以讓線程處于阻塞狀態(tài),這篇文章主要給大家介紹了關于java面試突擊之sleep和wait有什么區(qū)別的相關資料,需要的朋友可以參考下
    2022-02-02
  • Java中的FutureTask實現(xiàn)代碼實例

    Java中的FutureTask實現(xiàn)代碼實例

    這篇文章主要介紹了Java中的FutureTask手寫代碼實例,FutureTask是Future的實現(xiàn),用來異步任務的獲取結果,可以啟動和取消異步任務,查詢異步任務是否計算結束以及獲取最終的異步任務的結果,需要的朋友可以參考下
    2023-12-12

最新評論