首页 > 编程语言 >Java 中如何限制方法的返回时间

Java 中如何限制方法的返回时间

时间:2023-02-10 01:00:38浏览次数:56  
标签:返回 限制 contentGPT try API Time Java ChatGPT 方法

最近在研究 ChatGPT 的 API 调用。

因为 ChatGPT 的 API 调用时间通常超过 30 秒。

所以我们希望在程序中限制这个方法的执行时间,不要让方法花太长时间去执行了。

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 执行器。

在这个执行器中,我们配置一个任务。

然后这个任务我们指定了执行时间为 15 秒。

如果这个方法的执行时间超过了 15 秒,程序将会抛出一个异常。

 

Snag_1bae07be

 

可以通过这个方法来限制方法的执行时间。

https://www.ossez.com/t/java/14322

标签:返回,限制,contentGPT,try,API,Time,Java,ChatGPT,方法
From: https://www.cnblogs.com/huyuchengus/p/17107591.html

相关文章