我正在使用Unirest
为API端点创建客户端库,以模拟GET
和POST
个请求。程序完成后,必须调用以下代码才能终止当前线程。
Unirest.shutdown(); // must be called in order to clear the high CPU consuming thread
在程序执行结束时,是否有任何可能的方法在我的客户端库中隐式调用它?
答案 0 :(得分:1)
是的 - 您最好的选择可能是 Shutdown Hook 。它将在JVM终止时被调用/执行。举个例子:
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
public void run() {
System.out.println("JVM shutting down, closing Unirest");
Unirest.shutdown();
}
}));
理想情况下,您应该尽快调用addShutdownHook()
方法, 之后启动Unirest服务。